我正在使用AngularJS与ASP.NET Web Api服务器端。像我这样的认证似乎已经变得轻而易举了?还是这样太好了,不能成真?
所以我正在考虑使用Web Api的“个人用户帐户”身份验证。我正在想,这就是我需要的。只要每个请求被认证,并且没有人可以得到任何数据,他们不应该不需要做更多的对吗?
还是我缺少一些关键的安全基本面?
解决方法
关于保护API,您有两种主要方法
>基于Cookie的方法这是传统的方式,您可以使用标准表单来验证用户,然后设置表单身份验证cookie。所有未经授权的请求都将用户登录页面。如果您的API始终由UI前端支持,请使用工作登录此方法。
>第二是在请求的头部使用授权令牌。一旦用户通过身份验证,他将获得一个验证令牌,他必须附加到授权HTTP头中的每个后续请求。在这里了解更多信息Individual Accounts in ASP.NET Web API .这里的优点是您可以暴露您的API而不需要登录页面。
但请记住,当使用第二种方法时,必须将客户端存储在所有后续请求中,才能存储该认证令牌。看看这个博客文章Cookies vs Tokens. Getting auth right with Angular.JS了解如何使用令牌。
希望它有帮助。