第三方登录--GitHub实现

在这里插入图片描述

附上GitHub OAuth英文文档地址

步骤1:用户点击登录按钮,按钮绑定:https://github.com/login/oauth/authorize?..

参数名 数据类型 描述
client_id String 点击请在此处注册OAuth Apps,此处会看见Client_id,Client Secret
redirect_uri String 当用户授权登录后,自动重定向的页面
login String 使用一个特定的帐户登录和授权的应用程序。
scope String 获取到信息的范围
state String 随机一个数值,用作防止跨域攻击
示例:
https://github.com/login/oauth/authorize?
client_id=ddaec34bf350asfdqwe&
redirect_uri=http://localhost:8080/callback&
scope=user&
state=2304

步骤2:重定向到第一步设置的redirect_uri,并附上参数code,state

访问:https://github.com/login/oauth/access_token

参数名 数据类型 描述
client_id String 点击请在此处注册OAuth Apps,此处会看见Client_id,Client Secret
redirect_uri String 当成功获取到access token后重定向的页面
client_secret String 点击请在此处注册OAuth Apps,此处会看见Client_id,Client Secret
code String 第一步返回的参数,这很重要!
state String 第一步返回的参数,要跟第一步设置的state一至

注意:这里是POST请求,可借助OkHttp进行模拟Post请求发送,并获取access token,token_type

示例:access_token=e72e16c7e42f292c4343er710c838347ae178b4a&token_type=bearer

步骤3:拆分字符串,通过获取到的access token,使用OkHttp发起请求,获取用户信息,访问:https://api.github.com/user?access_token=…

返回的就是该用户的信息

发布了2 篇原创文章 · 获赞 0 · 访问量 96

猜你喜欢

转载自blog.csdn.net/Lohaks/article/details/104678573