github 第三方登录
第三方登录先了解 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
(这次会得到响应的access_token)
第三步:通过获取的access_token 换取 用户信息
GET: https://api.github.com/user?access_token=xxx;
第四步:得到github授权用户的个人信息,就可以插入到我们的数据库中去了,授权登录成功,跳转主页