步骤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=…
返回的就是该用户的信息