OAuth2.0之授权码讲解与代码实例

参考文章:
http://www.ruanyifeng.com/blog/2019/04/oauth_design.html
http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html
http://www.ruanyifeng.com/blog/2019/04/github-oauth.html


OAuth2.0共有四种方式,分别是授权码式、 隐藏式、密码式、凭证式。
使用场景分别是:授权码:适合有后端的。隐藏式:适合无后端的。密码式:直接告诉账号密码。凭证式:适合命令行应用。更多详细的信息请看上面三篇文章,写的非常详细,本文只重点讲解授权码式,因为其是目前使用最多的方式。


授权码式的工作过程如下:
在这里插入图片描述


步骤:

  1. 用户进入前端页面,点击使用第三方登陆(Gitee)方式
  2. 页面转跳到 Gitee 登陆页面,并让用户登陆,登陆成功后,询问用户是否允许原网页获取 XX 权限
  3. 同意后 Gitee 会重定向一个 url 网址,这网址里面包含授权码(code)
  4. 后端解析这个 url ,并拿到这个授权码,然后将这个授权码发送给 Gitee
  5. Gitee 收到后,会返回一个 json 数据,这个 json 数据就是令牌(token),其中 access_token 就在里面
  6. 后端解析 token 拿到 access_token 就可以获取用户登陆 Gitee 内的数据了

代码地址:https://github.com/Xavier-777/OAuthByJ

猜你喜欢

转载自blog.csdn.net/lendsomething/article/details/114867366