第三方授权登陆"/>
Github 第三方授权登陆
1.在Github上创建一个OAuth App
在Github上按照官方文档【Creating an OAuth App】进行操作
右上角–Settings–Developer settings–OAuth Apps–New OAuth App
主要是填写:
创建成功之后会得到授权用户数目和授权需要用到的参数【client id和client secret】:
2.授权登陆【Authorizing OAuth Apps官方文档】
主要流程分析:
- 获取code
- 通过code获取access_token
- 通过access_token获取github上的用户信息
根据官方文档具体分析流程:
向发送get请求【带上client_id,redirect_uri等参数】,这时会跳转到GitHub授权登陆页面,授权之后,会返回一个url,这个url里带有下一步要用到code参数
授权后GitHub会重定向返回之前在平台上配置好的站点,携带有code和上一步中state参数。如下:
http://localhost:8887/callback?code=984de57e4a966fd6d7be&state=1
然后我们就要用code去获得access_token,用如下post方法:
上图中的5个参数1、2、4都在步骤一中,state是在上一步发送get请求的时候自己设置的,code是上一步的返回
上一步的请求会返回access_token,只需要向,就能获得用户信息
上面几个步骤的url参考:
=××××&redirect_uri=××××&scope=××××&state=1"
=××××&client_secret=××××&code=××××&redirect_uri=××××&state=××××
=××××
3.代码实现
跳转到授权登陆页面,授权登陆后会返回code
<a href=";redirect_uri=http://localhost:8887/callback&scope=user&state=1">登陆</a>
用code交换access_token
public String getAccessToken(AccessTokenDTO accessTokenDTO){MediaType mediaType = MediaType.get("application/json; charset=utf-8");OkHttpClient client =
更多推荐
Github 第三方授权登陆
发布评论