7 security api rest node.js angularjs
我现在一直在努力研究如何在没有用户身份验证的情况下保护REST API.
这是什么意思 ?
在我的AngularJS应用程序中,我通过向现有服务(companydomain/userinfo)发送GET请求来识别用户,我必须使用该服务.我不确定这是如何工作的,因为我不是这段代码的作者,但关键是我在响应中获得有关用户的信息作为JSON(活动目录名称,公司中的电话......).
这是我必须识别用户的全部内容.
我做了什么
现在,我发现很多资源都在讨论OAuth,唯一令牌等等,但似乎没有什么能与我的问题相提并论.我实现了一个令牌系统,但由于我无法确定请求者的真实性,因此它毫无用处.
我认为你看到这里出了什么问题,攻击者可以轻易地向API发出损坏的请求以获得合法的令牌.所以我的问题是:
由于用户不使用凭据进行身份验证,我如何设法保护我的API?
我希望我的问题足够清楚,在这一点上,我甚至不确定如果不添加凭证系统我就能解决这个问题.
因为您说用户信息端点返回活动目录名称,所以我假设您使用的是 Windows 平台。
如果是这样,为什么不使用Windows 集成身份验证( Kerberos ) 来对用户进行身份验证而不要求他们提供凭据?这仅在您的活动目录域内有效,但对您的服务完全透明。
您仍然可以调用用户信息端点并验证它返回的信息是否适用于调用 REST 服务的同一用户。
如果您需要调用不支持Windows集成身份验证的服务,您可以生成一个安全令牌(对其进行签名以保证完整性)并使其他服务信任该令牌。
| 归档时间: |
|
| 查看次数: |
3821 次 |
| 最近记录: |