跳到主要内容
版本:V4.0

流程


OAuth 2.0流程

(A) 客户端向资源所有者请求授权。授权请求可以直接向资源所有者发出(如图所示),或最好通过授权服务器作为中介间接发出。

(B) 客户端收到一个授权许可,这是表示资源所有者授权的凭证,可以使用本规范中定义的四种授权类型之一或使用扩展授权类型来表达。授权类型取决于客户端请求授权的方法以及授权服务器支持的类型。

(C) 客户端通过向授权服务器进行身份验证并出示授权许可来请求访问令牌。

(D) 授权服务器对客户端进行身份验证并验证授权许可,如果有效,则发放访问令牌。

(E) 客户端向资源服务器请求受保护的资源,并通过出示访问令牌进行身份验证。

(F) 资源服务器验证访问令牌,如果有效,则提供请求的资源。



OAuth 2.0授权码模式

(A) 客户端通过将资源所有者的用户代理引导到授权端点来启动流程。客户端包含其客户端标识符、请求的范围、本地状态以及一旦授权成功(或被拒绝)后授权服务器将用户代理发送回的重定向URI。

(B) 授权服务器通过用户代理对资源所有者进行身份验证,并确定资源所有者是否授予或拒绝客户端的访问请求。

(C) 假设资源所有者授予了访问权限,授权服务器使用先前提供的重定向URI(在请求中或在客户端注册期间)将用户代理重定向回客户端。重定向URI包含授权码以及客户端先前提供的任何本地状态。

(D) 客户端通过在请求中包含上一步收到的授权码,从授权服务器的令牌端点请求访问令牌。在发出请求时,客户端对授权服务器进行身份验证。客户端包含用于获取授权码的重定向URI以供验证。

(E) 授权服务器对客户端进行身份验证,验证授权码,并确保收到的重定向URI与步骤(C) 中用于重定向客户端的URI相匹配。如果验证通过,授权服务器将返回访问令牌,且可选地返回刷新令牌。



OAuth 2.0密码模式

(A) 资源所有者向客户端提供其用户名和密码。

(B) 客户端通过包含从资源所有者收到的凭证,向授权服务器的令牌端点请求访问令牌。在发出请求时,客户端对授权服务器进行身份验证。

(C) 授权服务器对客户端进行身份验证并验证资源所有者的凭证,如果有效,则发放访问令牌。



OAuth 2.0客户端模式

(A) 客户端向授权服务器进行身份验证,并从令牌端点请求访问令牌。

(B) 授权服务器对客户端进行身份验证,如果验证通过,则发放访问令牌。



OAuth 2.0刷新访问令牌

(A) 客户端通过向授权服务器进行身份验证并提供授权授予来请求访问令牌。

(B) 授权服务器对客户端进行身份验证并验证授权授予,如果有效,则发放访问令牌和刷新令牌。

(C) 客户端通过提供访问令牌向资源服务器发出受保护资源请求。

(D) 资源服务器验证访问令牌,如果有效,则处理请求。

(E) 步骤 (C) 和 (D) 重复,直到访问令牌过期。如果客户端知道访问令牌已过期,则跳到步骤 (G);否则,它会再次发出受保护资源请求。

(F) 由于访问令牌无效,资源服务器返回无效令牌错误。



管理员功能流程



酒店功能流程



用户功能流程



通用功能流程



其他功能流程