小编spr*_*ean的帖子

从 Azure AD OAuth v2 令牌端点获取 client_credentials 令牌时 sub 和 oid 声明中有什么?

设置密钥/机密后,我可以获得这些令牌,但我不知道是否或如何依赖我的应用程序中的 sub 声明。

有关更多背景信息,我的应用程序实际上是一个 B2C 注册应用程序,我将转到 B2C 租户中的 v2 端点,但没有指定策略以使用客户端凭据流(可能导致常规 AAD,非 B2C令牌——我必须在后端加载多个密钥集才能使令牌验证工作,因为我们基本上使用多个令牌源这样做)。在我们的应用程序中,我们使用中间件来验证 JWT Bearer 令牌并通过 sub/oid 查找有效调用者以将任何适当的声明添加到上下文声明标识中。

在这个 client_credentials 案例中,我试图弄清楚 oid 是否与某个服务主体、我的应用程序、代表所使用的客户端机密的 GUID 或其他完全相关的东西 - 以及我是否可以足够依赖它来将它添加到我预期的“用户”数据库具有适当的应用程序权限。理想情况下,会有一种更简单的方法来识别用于服务到服务调用的令牌。

以下是使用 Postman 检索这些令牌的示例: 使用 Postman 获取 client_credentials 令牌

导致:

{
    "token_type": "Bearer",
    "expires_in": 3599,
    "ext_expires_in": 0,
    "access_token": "eyJ...pcQ"
}
Run Code Online (Sandbox Code Playgroud)

令牌内容,来自 jwt.io:

在此处输入图片说明

azure oauth-2.0 azure-active-directory azure-ad-b2c

5
推荐指数
1
解决办法
4664
查看次数