【问题标题】:Angular and Web Api 2 Authentication: Bearer TokensAngular 和 Web Api 2 身份验证:承载令牌
【发布时间】:2015-12-25 04:46:31
【问题描述】:

我正在 Angular js 和 ASP.NET Web Api 2 后端创建一个应用程序。我正在尝试弄清楚如何进行身份验证部分。我打算使用不记名令牌而不是 cookie,因为它似乎是一种更现代的方法。我将有一个用户登录表单,他们可以在其中输入密码和用户名。我是否应该将用户名和密码传递给我的 Web Api 并让它返回一个不记名令牌,然后将其存储在 localStorage 中?如何在每个后续请求中传递该令牌,以便我可以访问受保护的资源?我需要任何特殊的角度模块来进行这种类型的身份验证吗?

【问题讨论】:

  • 这个问题太笼统了。您应该能够在有关此主题的网络搜索中找到大量信息。 $http 文档还包含有关处理标头的信息

标签: .net angularjs authentication asp.net-web-api


【解决方案1】:

您可以在 Web Api 中使用 Anti-forgery Token。 服务器对用户进行身份验证。来自服务器的响应包括一个身份验证 cookie。 服务器在响应中包含两个令牌。一个令牌作为 cookie 发送。另一个放置在隐藏的表单域中。令牌是随机生成的,因此对手无法猜测值。

当客户端提交表单时,它必须将两个令牌都发送回服务器。客户端将 cookie 令牌作为 cookie 发送,并在表单数据中发送表单令牌。 (当用户提交表单时,浏览器客户端会自动执行此操作。)

如果请求不包含两个令牌,则服务器不允许该请求。 在 Angular 中,您必须在每个 http POST 请求中传递隐藏字段参数(令牌)。

【讨论】:

    猜你喜欢
    • 2017-02-03
    • 1970-01-01
    • 2017-07-27
    • 2017-08-10
    • 2014-04-09
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多