OAuth - 第三方登录的原理

第三方登录的原理

所谓第三方登录,实质就是 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://github.com/login/oauth/authorize?client_id=35d221af61529dfba857&scope=user,repo:status

 https://github.com/login/oauth/authorize?response_type=code&redirect_uri=https%3A%2F%2Frestlet.auth0.com%2Flogin%2Fcallback&scope=user%3Aemail&state=Y_D6Q590vW4t_OaddPJSAdlHo0t8zteW&client_id=745f4270657c18be71bd

转载于:https://www.cnblogs.com/Nyan-Workflow-FC/p/11082590.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值