授权令牌如何工作?

时间:2017-10-24 04:12:27

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

我试图理解令牌系统如何在Web api和Angular JS之间工作以进行身份​​验证。如果我错了,请纠正我。令牌存储在数据库表中,并在我们的客户端应用程序上手动添加令牌,以配合我们从客户端发出的每个请求。感谢。

3 个答案:

答案 0 :(得分:1)

正如@dee所说的,它取消了你正在使用的方法。你所谈论的方法有以下步骤

1.向web api发送登录请求

2.如果成功在服务器端生成令牌并将其存储在db中并作为响应返回

3.在客户端侧存储令牌某处可能位于浏览器内存中

4.使用$http Interceptors来拦截每个api请求并将标记附加到标题,假设标题名称为x-access-token

5.在api端创建一些custom aurization attribute检查每个请求的x-access-token标头,从中获取令牌并在db中匹配

答案 1 :(得分:1)

目前,大多数令牌都是JSON Web令牌。 JWT简介:https://jwt.io/introduction/

  1. 调用应用程序向令牌服务提供一些凭据,并要求提供某些API的令牌
  2. 服务生成一个令牌,其中包含一些声明,说明调用者是谁以及他们可能对API有什么权限
  3. 服务使用数字签名对令牌进行签名(因此无法对其进行修改)并将其返回给调用应用
  4. 调用应用程序然后可以将令牌附加到API的AJAX请求
  5. API可以通过验证数字签名验证令牌
  6. 如果令牌有效,API可以从令牌
  7. 中的声明中获取来电者信息

    您不需要将令牌存储在服务端的任何位置。签名允许任何服务在没有DB调用的情况下验证令牌。

答案 2 :(得分:1)

如果您不熟悉Web API,我可以为您提供web api的高级种子项目。

该项目将帮助您使用令牌工作逻辑和许多其他主题,并允许您更快地开发应用程序。

Web Api Advance Seed