OAuth 2.0

Posted 后端初学者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth 2.0相关的知识,希望对你有一定的参考价值。

每天一篇好文章系列18年第217期

编者按   

背景介绍:

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。


1


        


                                                                                                                       

















一、OAuth的思路



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

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



02





二、运行流程

(A)用户打开客户端以后,客户端要求用户给予授权。

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

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

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

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

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






03

三、客户端授权模式

客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。

OAuth 2.0定义了四种授权方式。

授权码模式(authorization code)

简化模式(implicit)

密码模式(resource owner password credentials)

客户端模式(client credentials)






: OAuth2.0是目前在目前很多系统应用中常见的授权方式,在大量的第三方授权系统中广泛使用,也在微服务系统鉴权时使用到。


OAuth 2.0

阮一峰博客《理解OAuth2.0


       ~


                   







以上是关于OAuth 2.0的主要内容,如果未能解决你的问题,请参考以下文章

OAuth 2.0 极简教程 (The OAuth 2.0 Authorization Framework)

Oauth2.0Oauth2.0

Spring-OAUTH2.0:调用 /oauth/token 时没有可用资源错误

OAuth 2.0 范围参数与 OAuth 2.0 JWT access_token 范围声明

OAuth 和 OAuth 2.0 有啥区别? [复制]

2-legged oauth 在 OAuth 2.0 中如何工作?