Oauth2.0 github认证登录实现

认证

创建一个授权github app网址

前言

在这里插入图片描述

1. 右上角点击设置

在这里插入图片描述

2.点击开发者设置

在这里插入图片描述

3. 点击 OAuth Apps

在这里插入图片描述

4. 创建一个 新的 OAuth App,如果没有注册会跳转到注册页面

在这里插入图片描述
注册页面网址

在这里插入图片描述
流程:
(1) 用户跳转到github 去获取权限
(2) github 授权成功会跳转回我们的网站 带回来一个code
(3) 通过第(2)中github跳转回来的code去访问 githubApi 拿到token

1.用户去github 授权,目的是授权成功后拿到code
在这里插入图片描述
2. 拿到 code,去交换 token
在这里插入图片描述
3.拿着token去访问github 获取github的用户信息
在这里插入图片描述

                                                   流程图

在这里插入图片描述

5.输入你的被认证的app 的名字

在这里插入图片描述

6. 输入被认证app 主页的名字

在这里插入图片描述

7. 展现给用户的描述

在这里插入图片描述

8.认证完后跳转到 哪个页面(回调)

在这里插入图片描述

9. 注册

在这里插入图片描述

10.

在这里插入图片描述

11.输入github 用户名秘密或者点击授权(已经登录github的)后,返回一个code 码

在这里插入图片描述

12.拿着 code ,client_id ,client_secret,redirect_uri ,state 去换 token

13. 拿着token 去换 用户id 和 其他信息

在这里插入图片描述

在这里插入图片描述


---------------------------------------------- 总结: -------------------------------------------------------

1.用户点击登录按钮,浏览器去访问github 服务器请求code 码,
https://github.com/login/oauth/authorize?client_id=d41ff3a3c0873a0a4b6c&redirect_uri=http://localhost:8080/callback&scope=user & state=1
出现一个github 登录界面,让用户登录授权
在这里插入图片描述

2.用户登录授权后,Github 服务器返回 给浏览器一个 code 码
如下:
http://localhost:8080/callback?code=ee2fa64ef1e81757a6bd
自己的服务器拦截 到code 码,

在这里插入图片描述

3.post 请求:
https://github.com/login/oauth/access_token
参数: client_id , client_secret , code , redirect_uri , state,

返回token令牌,
4.拿着令牌去访问 用户的信息
Request request = new Request.Builder()
.addHeader(“Authorization”,"token "+accessToken)
.url(“https://api.github.com/user?access_token=” + accessToken)
.build();
5.拿到用户的信息,进行处理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值