OAuth2.0 授权方式及步骤梳理总结

Posted Sol·wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth2.0 授权方式及步骤梳理总结相关的知识,希望对你有一定的参考价值。

OAuth 2.0授权协议使第三方应用程序可以通过协调资源所有者和HTTP服务之间的批准交互,或者通过允许第三方应用程序代表资源所有者来获得对HTTP服务的有限访问权,或者代表资源所有者。 代表自己获取访问权限。通常的授权方式分为以下四种:

一、Authorization_Code_Grant  [授权码方式]  (最完整方式,针对用户的授权)  【常用】

1、发起申请授权 2、用户确认授权 3、申请Token 4、过期取新Token 5、取OpenID
通过授权链接 > 跳转认证页面 用户登录 > 返回授权码 通过授权码申请Token > 返回Token(附带refresh_token) 依据refresh_token 取新Token 透过Token取OpenID

参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.1

 

二、Implicit_Grant  [授权码缺省方式]  (可纯前端方式,针对用户的授权)  【常用】

1、发起申请授权 2、用户确认授权 4、过期取新Token 5、取OpenID
通过授权链接 > 跳转认证页面 用户登录 > 返回Token(附带refresh_token) 依据refresh_token 取新Token 透过Token取OpenID

参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.2

 

三、Client_Credentials  [平台凭证方式]  (可纯后端方式,针对平台的授权,多用户共享)  【少见】

1、发起申请 4、过期取新凭证
平台发起申请 > 返回给平台凭证 凭证过期 取新凭证

参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.4

 

四、Password_Credentials  [密码凭证方式]  (充分信任的双方)  【特殊场景】

适用于双方有充分信任关系的情况,例如其操作系统或高特权的应用程序。授权服务器在启用此种授予类型时应当注意,只有在其它授权方式不可能时,再考虑此种授权类型。
首先,用户在平台登录页输入登录凭证,平台依据用户输入的登录凭证信息(通常为账号密码)向授权服务器发起Token申请。授权服务器Response Token。它还用于通过将存储的凭据转换为访问令牌,使用HTTP Basic或Digest身份验证等直接身份验证方案将现有客户端迁移到OAuth。

1、平台登录 2、认证授权 4、过期取新Token
用户登录 > 发起申请 认证并返回Token(附带refresh_token) 依据refresh_token 取新Token

参考流程图如下:(图片来源:draft-ietf-oauth-v2-31 4.3

 

 

参考文档:draft-ietf-oauth-v2-31

有误必究,欢迎指出,持续更新,万分感谢,共同学习。

以上是关于OAuth2.0 授权方式及步骤梳理总结的主要内容,如果未能解决你的问题,请参考以下文章

oauth

梳理微信小程序登录时序图:授权与 Oauth2.0

js微信--微信授权登录(OAuth2.0)

js微信--微信授权登录(OAuth2.0)

OAuth2.0授权登录

OAuth2.0