Oauth 2.0 在JWT中包含OAuth作用域可以吗?

Oauth 2.0 在JWT中包含OAuth作用域可以吗?,oauth-2.0,jwt,access-token,Oauth 2.0,Jwt,Access Token,我正在将OAuth授权服务器端点添加到现有应用程序中。我计划从OAuth令牌端点发布JWT 当为特定OAuth作用域发出令牌时,最好将为其发出令牌的作用域嵌入令牌本身,因为当客户端稍后使用发出的令牌执行某些操作时,通过查看令牌更容易验证令牌是否有权执行某个操作 但是,JWT的作用域似乎没有包含一个合适的字段来标记OAuth作用域 那么,在JWT中包含作为自定义声明的范围可以吗?是否有其他方式将范围详细信息嵌入JWT?JWT规范-为您提供插入和使用非标准/注册声明的能力。这是规范的突出部分 JWT

我正在将OAuth授权服务器端点添加到现有应用程序中。我计划从OAuth令牌端点发布JWT

当为特定OAuth作用域发出令牌时,最好将为其发出令牌的作用域嵌入令牌本身,因为当客户端稍后使用发出的令牌执行某些操作时,通过查看令牌更容易验证令牌是否有权执行某个操作

但是,JWT的作用域似乎没有包含一个合适的字段来标记OAuth作用域

那么,在JWT中包含作为自定义声明的范围可以吗?是否有其他方式将范围详细信息嵌入JWT?

JWT规范-为您提供插入和使用非标准/注册声明的能力。这是规范的突出部分

JWT的生产商和消费者可同意使用以下索赔名称: 是私有名称:不是注册索赔名称的名称 (第4.1节)或公共索赔名称(第4.2节)。与公共索赔名称不同,私有索赔名称会发生冲突,因此应 小心使用

此外,如果您关注标准注册索赔,可以在以下位置找到:

或者,如果您只对使用标准声明感兴趣,并且只将它们与JWT访问令牌一起使用(我假设您引用的JWT是一个访问令牌),那么您可以定义一个并将范围值放入其响应中。范围被定义为对

的一个标准响应参数,现在有了草案(可能很快会成为标准),许多人已经在实践中使用了该草案。在第节中明确指出:

如果授权请求包含范围参数,则相应的已发布JWT访问令牌必须包含[TokenExchange]第4.2节中定义的范围声明

作用域声明中的所有单个作用域字符串必须对aud声明中指示的资源具有意义


因此,它不仅允许有
范围
索赔,而且如果请求有索赔,它甚至是必需的。

简短回答:是的,没有任何东西阻止您创建客户或客户理解的自定义索赔server@FlorentMorselli由于OAuth在授权方面很突出,我希望JWT对OAuth有一些特殊的支持。请将您的评论作为答案发布,以便我可以接受。