前后端分离案例代码:spring-security-oauth2.0-sample

关于OAuth2.0规范介绍请参考 OAuth 2.0 Simplified
关于OAuth2.1草案介绍请参考 OAuth 2.1

  1. 用户点击前端开始第三方登录
  2. 前端调用后端接口开始第三方登录
  3. 后端组装完client_id,redirect_uri, response_type, state等参数构造重定向到第三方授权服务器的连接,返回给前端。链接如:http://wechat.com/oauth2/code" />What is the purpose of the ‘state’ parameter in OAuth authorization request 。

    此外,OAuth2.0可选、OAuth2.1强制要求的PKCE机制 不光可以用来防止CSRF,还可以防止authorization code injection attacks,这个问题可参考 RFC 7636: Proof Key for Code Exchange,所以用了PKCE就可以不用state参数了。