举杯邀月

第三方授权登录 - GitHub 授权

摘要:第三方登入太常见了,他们让我们登陆更加方便,直接授权就可以进入,现在各大平台也都基本支持第三方登陆,如微信,微博,QQ...总有一个你用过。

github 的授权登陆相对来说是比较简单的,首先我们需要登陆github网站并且进行开发人员设置:

举杯邀月-技术博客

举杯邀月-技术博客
我们申请完应用后会有 Client IDClient Secret

总体流程

1.获取 code

第三方客户端引导用户发送get请求

https://github.com/login/oauth/authorize?client_id=[Client ID]
1

这时会跳转到 GitHub 登入页面,授权后GitHub会向客户端返回到我们的创建应用的时候填写的那个 callback 回调地址。并且带着code参数

2.通过 code 获取 access_token

有了code,我们在通过 Client IDClient Secretcode这三个参数去发送get请求,获取 access_token

https://github.com/login/oauth/access_token?code=[code]&client_id=[Client ID]&client_secret=[Client Secret]
1

结果:access_token=…&scope=user&token_type=bearer

3.通过 access_token 获取用户 GitHub 账号信息

有了 access_token 我们在去访问请求我们需要的用户信息了

https://api.github.com/user?access_token=[access_token]
1

注意,这个请求需要在头信息里带着 User-Agent,否则会报错。

这时,就能以json格式返回给我们所有的用户信息了~

作者:举杯邀月

出处: http://www.hug-code.cn/archives/5fd97c126372c.html

2020-10-08 标签: 三方授权登录