一、第三方登录的原理
1.0所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网?
- A 网站让用户跳转到 GitHub。
- GitHub 要求用户登录,然后询问"A 网站要求?
- 用户同意,GitHub 就会重定向回 A 网
- A 网站使用授权码,向 Git
- GitHub 返回?
- A 网站使用令牌,向 GitHub
一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道你是谁
所以,你要先去 GitHub 登记一下。当然,我已经登记过了,你使用我的登记信息也可以,但为了完但为了完整走一遍流程,还是建议大家自己登记。
访问这个网站填写登录表。
应用的名称随便填,主页 URL 填写http://localhost:8080,跳转网址填写 http://localhost:8080/oauL。
得到id和密钥。
浏览器访问Github.
https://github.com/login/oauth/authorize?
client_id=cf720eee30e4911e10b6&
redirect_uri=http://localhost:8080/oauth/redirect
这个 URL 指向 GitHub 的 OAuth 授权网址,带有两个参数:client_id告诉 GitHub 谁在请求,redirect_uri是稍后跳转回来的网址。 用户点击到了 GitHub,GitHub 会要求用户登录,确保是本人在操作。
Github用户等成功后,点击授权,服务器跳转到该链接,带参数code,code为授权码。
2.0申请得到令牌。
浏览器发请求(测试使用)
https://github.com/login/oauth/access_token?client_id=cf720eee30e4911e10b6&client_secret=c9d53fb7d3691e50c2f44715feea6a9a4e172404
&0493783fa9a27eaf7bf1
随后浏览器会下载一个文件,包含tocket。
然后就可以调用github的api。