认证
前言
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.拿到用户的信息,进行处理