第三方登录的原理
所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。
举例来说,A 网站允许 GitHub 登录,背后就是下面的流程。
1、A 网站让用户跳转到 GitHub。 2、GitHub 要求用户登录,然后询问"A 网站要求获得 xx 权限,你是否同意?" 3、用户同意,GitHub 就会重定向回 A 网站,同时发回一个授权码。 4、A 网站使用授权码,向 GitHub 请求令牌。 5、GitHub 返回令牌. 6、A 网站使用令牌,向 GitHub 请求用户数据。
下面就是这个流程的代码实现。
一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。
https://github.com/settings/applications/new
应用的名称随便填,主页 URL 填写http://localhost:8080
,跳转网址填写 http://localhost:8080/oauth/redirect
。
提交表单以后,GitHub 应该会返回客户端 ID(client ID)和客户端密钥(client secret),这就是应用的身份识别码。
原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/11082590.html
时间: 2024-08-29 16:38:24