oAuth 2.0 第三方登录详细介绍

本文以github第三方登录为例,详细介绍oAuth 2.0登录过程。

注册github账号,登录后在个人信息页面一次点击Applications>Developer applications>Register a new application弹出如下界面


oAuth 2.0 第三方登录详细介绍_第1张图片

前三项就依据个人应用添加      最后callback URL 就是回调的地址了   添加对应平台的接口  github允许填写本地连接地址(开发中直接填http://127.0.0.1:8080/xxx/xxx 这个地址要和授权的时候的传入的地址参数一致 否则授权失败)

注册之后 会得到  github提供的client id 和client secret 有了这两个东东就可以换取更多的信息了

流程图说明:

1、用户点击github登录本地应用引导用户跳转到第三方授权页这里就不拐歪了 跳转地址为:

https://github.com/login/oauth/authorize?client_id=xxxxx&state=xxx&redirect_uri=xxxx

参数说明  :client_id  就不说是啥了吧   redirect_uri:就是上面刚刚填的啦   state:随机字符串(授权成功会原样返回)

2 、授权成功后会回调我们平台,响应信息中会带code其他参数不理他了哈哈,我们带着这个code再次访问github 地址:

https://github.com/login/oauth/access_token?client_id=xxxx&client_secret=xxx&code=xxx&redirect_uri=xxxx

参数不解释了(每个具体代表什么意义可参考官方文档https://developer.github.com/apps/building-oauth-apps/authorization-options-for-oauth-apps/),这次会得到响应的access_token

3、成功获取access_token后用这玩意再去换取用户信息 地址:

https://api.github.com/user?access_token=xxx

之后我们就能得到用户信息了,接下来就可以做想做的事情了

其他平台思路都一样了


oAuth 2.0 第三方登录详细介绍_第2张图片
流程图示例

你可能感兴趣的:(oAuth 2.0 第三方登录详细介绍)