我在 ASP.NET Web Api 服务器端使用 AngularJS。在我看来,身份验证现在已经变得轻而易举了?或者这太好了以至于令人难以置信?
所以我正在考虑使用Web Api的“个人用户帐户”身份验证。我想这就是我所需要的。只要每个请求都经过身份验证,并且没有人可以获得他们不应该获得的任何数据,我就不需要做更多的事情,对吧?
或者我是否缺少一些关键的安全基础知识?
在保护 API 方面,有两种主要方法
- 基于 Cookie 的方法。这是传统的方式,您使用标准表单对用户进行身份验证,然后设置表单身份验证 cookie。所有未经授权的请求都会将用户带到登录页面。如果 UI 前端始终支持您的 API 来登录此方法,则可以正常工作。
- 其次是在请求标头中使用授权令牌。用户通过身份验证后,他将获得一个身份验证令牌,他必须将其附加到 Authorize HTTP 标头中的每个后续请求。点击此处了解详情ASP.NET Web API 中的个人帐户 http://www.asp.net//overview/authentication/individual-accounts-in-aspnet-web-api。这样做的优点是您可以公开您的 API,而无需登录页面。
但请记住,使用第二种方法时,身份验证令牌必须存储在客户端,因为所有后续请求都需要此令牌。看看这篇博文Cookie 与令牌。使用 Angular.JS 进行正确的身份验证 http://blog.auth0.com/2014/01/07/angularjs-authentication-with-cookies-vs-token/了解如何使用令牌。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)