认证服务 - raymond-zhao/cat-mall GitHub Wiki
有了解过OAuth2.0么,说说你对OAuth2.0的理解
- OAuth2.0是OAuth协议的新版本, OAuth的意思是Open Authorization, 也就是开放认证授权的意思. 我所了解到的OAuth2.0的主要应用都是用在众多App的第三方登录功能上. 比如QQ登录, 微博登录, 微信登录等。
- OAuth2.0认证流程中主要涉及四个对象:
- Client: 第三方应用, 我们使用的QQ登录就可以认为是一个Client.
- Resource Owner: 资源所有者, 也就是用户.
- Authorization Server: 授权服务器, 即提供第三方登录服务的服务器.
- Resource Server: 资源服务器, 通常和授权服务器属于同一应用.
- 基本流程为:
- 第三方应用请求用户授权, 获取用户的公开信息(比如username)
- 用户同意授权, 返回一个凭证code.
- 第三方应用通过验证凭证(code)向授权服务器请求授权.
- 授权服务器验证凭证通过后, 同意授权, 返回一个资源访问的凭证(Access Token)
- 第三方应用通过(Access Token)去向资源服务器请求相关资源.
- 资源服务器验证(Access Token)通过后, 返回第三方应用请求的资源.
参考: https://zhuanlan.zhihu.com/p/20913727
用户身份鉴别:ThreadLocal
推荐阅读: