gpt4 book ai didi

oauth - OAuth2:使用JWT客户端身份验证的JWT授权授予和客户端凭据授予之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 09:29:38 25 4
gpt4 key购买 nike

OAuth2 JWT配置文件引入了将JWT用作授权授权和客户端身份验证的可能性。

JWT客户端身份验证功能与特定的授予类型无关,并且可以与任何授予类型(客户端凭证授予)一起使用。

但是,使用JWT授予类型似乎与将客户端凭据授予与JWT客户端身份验证完全相同,只是语法略有不同。

在这两种情况下,客户端都会与 token 端点联系以获取访问 token :

POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=[JWT]


POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=[JWT]

最佳答案

关于Josh C的一个很好的答案的观点略有不同:发生这种情况时,客户端身份验证和授予凭据都可以表示为JWT,但是它们背后的语义不同。

这与关注点的分离有关:客户端使用将其标识为的凭据进行身份验证,即,它们就是所谓的subject,而他们使用向其颁发了的授予,即它们就是所谓的audience。或如规范草案的第12版(https://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-12)所述:

  1. The JWT MUST contain a "sub" (subject) claim identifying the principal that is the subject of the JWT. Two cases need to be differentiated:

    A. For the authorization grant, the subject typically identifies an authorized accessor for which the access token is being requested (i.e., the resource owner or an authorized delegate), but in some cases, may be a pseudonymous identifier or other value denoting an anonymous user.

    B. For client authentication, the subject MUST be the "client_id" of the OAuth client.

关于oauth - OAuth2:使用JWT客户端身份验证的JWT授权授予和客户端凭据授予之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29696728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com