gpt4 book ai didi

oauth-2.0 - IdentityServer4 JWT 范围作为空格分隔的字符串而不是数组?

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

我一直在尝试了解 OAuth2 授权范围的 IETF RFC。 Scope OAuth2

范围参数的值表示为空格分隔、区分大小写的字符串列表。这些字符串由授权服务器定义。如果该值包含多个以空格分隔的字符串,则它们的顺序并不重要,每个字符串都会向请求的范围添加一个额外的访问范围。

IdentityServer 将 JWT 中的范围输出为字符串数组,而几乎所有其他提供程序都将范围输出为单个空格分隔的字符串。是否有适配器或配置设置可以让 ID4 将 JWT 中的范围输出为单个空格分隔的字符串?

"scope": [
"openid",
"profile",
"email",
"api"
],
"scope": "openid profile email api"

最佳答案

根据RFC8693 draftRFC7662 (OAuth 2.0 token 内省(introspection)):

The value of the "scope" claim is a JSON string containing a space-separated list of scopes associated with the token, in the formatdescribed in Section 3.3 of [RFC6749].

而且,即使那里没有写正式的定义,in this other draft ,该示例显示的范围项也以空格分隔。

就我个人而言,我更喜欢它是一个数组(因为它可以更好地代表范围声明的性质),但空格分隔的格式确实更符合 OAuth2 的标准。

关于oauth-2.0 - IdentityServer4 JWT 范围作为空格分隔的字符串而不是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56864995/

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