快捷搜索:  汽车  科技

jwt实现权限认证,单点登录之jwt和oauth2

jwt实现权限认证,单点登录之jwt和oauth2前两段只是我目前的粗浅理解,希望大佬们友好交流。令牌的使用:每个发到 API 的请求,都必须带有令牌。具体做法是在请求的头信息,加上一个Authorization字段,令牌就放在这个字段里面。OAuth 的核心就是向第三方应用颁发令牌。OAuth 2.0 规定了四种获得令牌的流程。不管哪一种授权方式,申请之前,都必须给系统说明自己的身份,然后会拿到两个身份识别码:client ID和client secret。这是为了防止令牌被滥用。authorization codeimplicit

Json web token(JWT)我理解token就是进入系统的一种识别方式。具体怎么用,可以有很多种设计。

oauth2就可以用来规定JWT如何使用。是一种规范。

一个是令牌,一个是规范。

所以在和统一权限最对接的时候听他们说有两种接入方式,一种oauth2一种jwt还有点奇怪,不同类的东西怎么能这么说呢?(一下是阮一峰博客中看到的,mark一下)

OAuth 的核心就是向第三方应用颁发令牌。OAuth 2.0 规定了四种获得令牌的流程。不管哪一种授权方式,申请之前,都必须给系统说明自己的身份,然后会拿到两个身份识别码:client ID和client secret。这是为了防止令牌被滥用。

  • 授权码authorization code

jwt实现权限认证,单点登录之jwt和oauth2(1)

authorization code

  • 隐藏式implicit

jwt实现权限认证,单点登录之jwt和oauth2(2)

implicit

  • 密码式
    • A 网站要求用户提供 B 网站的用户名和密码。拿到以后,A 就直接向 B 请求令牌。
    • B 网站验证身份通过后,直接给出令牌。注意,这时不需要跳转,而是把令牌放在 JSON 数据里面,作为 HTTP 回应,A 因此拿到令牌。
  • 凭证式
    • A 应用在命令行向 B 发出请求
    • B 网站验证通过以后,直接返回令牌
    • 这种方式给出的令牌,是针对第三方应用的,而不是针对用户的,即有可能多个用户共享同一个令牌。

令牌的使用:每个发到 API 的请求,都必须带有令牌。具体做法是在请求的头信息,加上一个Authorization字段,令牌就放在这个字段里面。

前两段只是我目前的粗浅理解,希望大佬们友好交流。

猜您喜欢: