认证服务 - 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

推荐阅读:

面试官:小伙子,听说你看过 ThreadLocal 源码?(万字图文深度解析)

Java面试必问:ThreadLocal终极篇 淦!

抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~