第三方登录先了解 OAuth 2.0

OAuth 协议的认证和授权的过程如下:

  1. 用户打开我的博客后,我想要通过GitHub获取改用户的基本信息
  2. 在转跳到GitHub的授权页面后,用户同意我获取他的基本信息
  3. 博客获得GitHub提供的授权码,使用该授权码向GitHub申请一个令牌
  4. GitHub对博客提供的授权码进行验证,验证无误后,发放一个令牌给博客端
  5. 博客端使用令牌,向GitHub获取用户信息
  6. GitHub 确认令牌无误,返回给我基本的用户信息
  7. oauth 详情介绍

登录GitHub 进入创建应用:

配置应用:

代码操作:

第一步:引导用户跳转 github 授权登录页面

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

  (client_id 上面已经拿到了,state参数随便传多少,redirect_uri 就是你上面填的Authorization callback URL)

第二步: 用户授权后重定向 我们平台【回调地址】,返回code 参数值,通过code 再次访问 github

  POST:https://github.com/login/oauth/access_token?client_id=xxx&client_secret=xxx&code=xxx&redirect_uri=回调地址

  (这次会得到响应的access_token)  

第三步:通过获取的access_token 换取 用户信息

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

第四步:得到github授权用户的个人信息,就可以插入到我们的数据库中去了,授权登录成功,跳转主页

最后用一张图来总结 :

文章引用 : 使用 GitHub OAuth 第三方验证登录

     第三方登入例子-GitHub授权登入

     授权OAuth应用程序

     了解OAuth应用程序的范围

  

最新文章

  1. js canvas压缩图片上传
  2. Selenium VS QTP
  3. iOS9 支持http
  4. poj 1789
  5. 北大poj-1062
  6. PHP simplexml_load_string 过滤<![CDATA[XXXX]]>
  7. hdu 5154 Harry and Magical Computer 拓扑排序
  8. mjrefresh源码分析
  9. 复习URLHttpConnection方式GET,POST方式链接网络解析uri
  10. oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT_数据库的几种锁
  11. C# 该行已经属于还有一个表 的解决方法
  12. C#代码设置窗体和Panel的位置大小
  13. 酷狗音乐QQ显示(VC源代码)
  14. Lua学习(2)——表达式
  15. AsyncTask onPreExecute方法用于在执行后台任务前做一些UI操作
  16. 在应用中更新App版本号
  17. Kafka详细的设计和生态系统
  18. C#/AutoCAD 2018/ObjectArx/二次开发添加删除实体的工具函数(四)
  19. 《HTTP权威指南》5-Web服务器
  20. maven 入门 (二)

热门文章

  1. linux命令-df查看磁盘命令
  2. 工作的时候用到spring返回xml view查到此文章亲测可用
  3. linux进程的软中断通信
  4. Ros学习——roslaunch
  5. 利用JavaScriptCore实现以下简单的功能(平方和)
  6. Luogu 3267 [JLOI2016/SHOI2016]侦察守卫
  7. Django框架 之 Cookie和Session初识
  8. apache的Base64编解码
  9. Direct ByteBuffer学习
  10. Ubuntu12.04不能连接小米开发(转)