Spring 中 OAuth2 中的身份验证类型:通过用户凭据进行的身份验证如何工作?
Types of authentication in OAuth2 in Spring: How does authentication via user credentials work?
我目前正在尝试使用 Spring Security OAuth 通过 OAuth2 身份验证实现 Web 服务 (API)。据我了解,给定一个用户,一个客户端应用程序和一个服务器,身份验证过程如下:
- 用户通过客户端向服务器请求资源
- 客户端从服务器检索请求令牌
- 服务器以临时请求令牌和重定向响应URL
- 客户端加载网页(重定向 URL)并让用户输入凭据以验证请求令牌。表单输入被发送到服务器,客户端不知道输入。
- 服务器回复授权码,授权码交给客户端
- 客户端使用授权码来检索访问令牌(如果请求的话,还可以选择刷新令牌)
- 用户将访问令牌交给客户端
- 客户端使用访问令牌检索请求的资源
在 Spring OAuth 中,有三种授权类型 request an access token:
Authorization Code,也就是我上面说的方法,refresh token,还有用户凭证。我不知道通过用户凭据检索是如何工作的,它类似于通过刷新令牌检索吗?
您在上面所做的一些陈述是不正确的。如果您再次查看 OAuth2 规范,这可能是个好主意:https://www.rfc-editor.org/rfc/rfc6749
为了专注于你的问题,我只是在后面提到你问题的最后一段。
OAuth2 支持 4 种授权类型,即 'Authorization Code'、'Implicit'、'Resource Owner Password Credentials' 和 'Client Credentials'。您称为 'user credentials' 的那个应该是 'Resource Owner Password Credentials'。在这种授权类型中,您失去了 OAuth 的优势,即不必将资源所有者(又名用户)凭据移交给客户端。然而,它仍然具有不必在客户端存储密码并为每个资源请求发送密码的好处,因为使用了令牌。流程如下:
- 资源所有者向客户端发送凭据
- 客户端向授权服务器发送凭据
- 服务器 returns 访问令牌(以及可选的
刷新令牌)
- 客户端在后续请求中使用访问令牌
资源服务器
所以是的,您可以说资源所有者密码凭据授予的流程与客户端已经拥有有效刷新令牌(从中授予)时的流程类似。
我目前正在尝试使用 Spring Security OAuth 通过 OAuth2 身份验证实现 Web 服务 (API)。据我了解,给定一个用户,一个客户端应用程序和一个服务器,身份验证过程如下:
- 用户通过客户端向服务器请求资源
- 客户端从服务器检索请求令牌
- 服务器以临时请求令牌和重定向响应URL
- 客户端加载网页(重定向 URL)并让用户输入凭据以验证请求令牌。表单输入被发送到服务器,客户端不知道输入。
- 服务器回复授权码,授权码交给客户端
- 客户端使用授权码来检索访问令牌(如果请求的话,还可以选择刷新令牌)
- 用户将访问令牌交给客户端
- 客户端使用访问令牌检索请求的资源
在 Spring OAuth 中,有三种授权类型 request an access token:
Authorization Code,也就是我上面说的方法,refresh token,还有用户凭证。我不知道通过用户凭据检索是如何工作的,它类似于通过刷新令牌检索吗?
您在上面所做的一些陈述是不正确的。如果您再次查看 OAuth2 规范,这可能是个好主意:https://www.rfc-editor.org/rfc/rfc6749
为了专注于你的问题,我只是在后面提到你问题的最后一段。
OAuth2 支持 4 种授权类型,即 'Authorization Code'、'Implicit'、'Resource Owner Password Credentials' 和 'Client Credentials'。您称为 'user credentials' 的那个应该是 'Resource Owner Password Credentials'。在这种授权类型中,您失去了 OAuth 的优势,即不必将资源所有者(又名用户)凭据移交给客户端。然而,它仍然具有不必在客户端存储密码并为每个资源请求发送密码的好处,因为使用了令牌。流程如下:
- 资源所有者向客户端发送凭据
- 客户端向授权服务器发送凭据
- 服务器 returns 访问令牌(以及可选的 刷新令牌)
- 客户端在后续请求中使用访问令牌 资源服务器
所以是的,您可以说资源所有者密码凭据授予的流程与客户端已经拥有有效刷新令牌(从中授予)时的流程类似。