2015-09-28 108 views
1

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

+0

这个问题太广泛了。您应该能够在有关此主题的网络搜索中找到大量信息。此外''http'文档还提供了有关处理标题的信息 – charlietfl

回答

1

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

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

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