第三方登录原理

作者: senpaiLi | 来源:发表于2019-05-18 11:20 被阅读101次

第三方登录已经是我们最常用的一种登录方式,有时我们会有疑惑,这东西实现原理是什么?为什么第三方授权之后,还要绑定手机号?如果不是为了用户登录更简洁,这个第三方的登录意义何在?

我们今天来理一下。

一、第三方登录的原理(oAuth认证和授权原理)

1、OAuth的思路:
OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。

"客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的资料。

2、运行流程:


OAuth 2.0的运行流程如下图,摘自RFC 6749
(A)用户打开客户端以后,客户端要求用户给予授权。

(B)用户同意给予客户端授权。

(C)客户端使用上一步获得的授权,向认证服务器申请令牌。

(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

(E)客户端使用令牌,向资源服务器申请获取资源。

(F)资源服务器确认令牌无误,同意向客户端开放资源。

不难看出来,上面六个步骤之中,B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。

3、客户端授权模式:
客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。

授权码模式(authorization code)
简化模式(implicit)
密码模式(resource owner password credentials)
客户端模式(client credentials)

详见阮一峰的博客

相关文章

  • 微信第三方登录以及OAuth 2.0认证原理

    本文对iOS第三方登录流程进行整理总结,以微信为例,附第三方登录认证原理 首先要到微信开放平台注册登录账号,并创建...

  • 第三方登录原理

    第三方登录已经是我们最常用的一种登录方式,有时我们会有疑惑,这东西实现原理是什么?为什么第三方授权之后,还要绑定手...

  • iOS 第三方登录

    第三方登录 原理 友盟登录 1.在友盟下载SDK 2.查看如何配置SDK 3.将SDK(UMSocial_SDK)...

  • iOS 第三方登录

    第三方登录 原理 友盟登录 1.在友盟下载SDK下载SDK 2.查看如何配置SDK 3.将SDK(UMSocial...

  • 第三方登录

    第三方登录开发模式及auto2.0简介 微博登录第三方登录就是跳转到第三方的登录页面,只能通过第三方,不能自己设置...

  • 手把手教你集成---ShareSDK

    第三方登录 一.第三方登录的定义 第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录流程。这...

  • 友盟第三方平台登录与分享

    友盟第三方登录 一、概述第三方登录主要用于简化用户登录流程,通过用户拥有的微博、QQ、微信等第三方账号进行登录并且...

  • 一稿适配所有iOS设备【二】

    第三方登录模块 这样我们的登录界面大致就完成了。下面还有一个第三方登录模块。首先是“使用第三方账号登录”的标签。这...

  • 第三方登录原理探究

    第三方登录原理探究 底层协议 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储...

  • 第十二天

    第三方登录 social_django集成第三方登录 $ pip install social-auth-app-...

网友评论

    本文标题:第三方登录原理

    本文链接:https://www.haomeiwen.com/subject/ktpzaqtx.html