目录

前言

一、OAuth2是什么?

二、授权模式

1.授权码模式

2.密码模式

3.客户端模式

总结


前言

本文主要介绍一下OAuth2的四种授权模式


一、OAuth2是什么?

讲解OAuth2之前,先了解几个专用名词。

  1. Third-party application:第三方应用程序,又称“客户端”(client)
  2. HTTP service:HTTP服务提供商,简称“服务提供商”
  3. Resource Owner:资源所有者
  4. User Agent:用户代理
  5. Authorization server:认证服务器
  6. Resource server:资源服务器

OAuth的作用就是让客户端安全可控地获取用户的授权,与服务提供商进行互动。

oauth2 的properties配置 oauth2 client_访问令牌

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

二、授权模式

1.授权码模式

如图所示:

oauth2 的properties配置 oauth2 client_访问令牌_02

操作步骤:

(A)用户访问客户端,后者将前者导向认证服务器。

(B)用户选择是否给予客户端授权。

(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。

(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。

(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。

2.密码模式

如图所示:

oauth2 的properties配置 oauth2 client_客户端_03

 操作步骤:

(A)用户向客户端提供用户名和密码。

(B)客户端将用户名和密码发给认证服务器,向后者请求令牌。

(C)认证服务器确认无误后,向客户端提供访问令牌。

3.客户端模式

如图所示:

oauth2 的properties配置 oauth2 client_开发语言_04

操作步骤:

(A)客户端向认证服务器进行身份认证,并要求一个访问令牌。

(B)认证服务器确认无误后,向客户端提供访问令牌。


总结

这就是OAuth的三种常用授权模式的操作步骤。