oAuth 2.0 第三方登录详细介绍

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

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


前三项就依据个人应用添加      最后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

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

其他平台思路都一样了


流程图示例
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文以一种简化的格式描述OAuth 2.0 ,以帮助开发人员和服务提供者实现该协议。 The OAuth 2 sp...
    JacoChan阅读 9,703评论 1 11
  • 以下是官网直译:https://oauth.net/ 1. 首页 OAuth是一种开放协议(注:协议是公开的,任何...
    JacoChan阅读 13,980评论 0 20
  • 1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听...
    youseewhat阅读 5,374评论 1 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,273评论 19 139
  • 第三方登录是现在常见的登录方式,免注册且安全方便快捷。 本篇文章将以Github为例,介绍如何在自己的站点添加第三...
    myWsq阅读 12,520评论 1 3

友情链接更多精彩内容