Azure ad b2c 如何从id\u token\u提示中提取多个值到特定声明中?
我有一个id_token_提示,其中包含来自的令牌。基于令牌中的角色,我愿意将其用作受信任方。下面是一个JWT令牌示例:Azure ad b2c 如何从id\u token\u提示中提取多个值到特定声明中?,azure-ad-b2c,azure-ad-b2c-custom-policy,Azure Ad B2c,Azure Ad B2c Custom Policy,我有一个id_token_提示,其中包含来自的令牌。基于令牌中的角色,我愿意将其用作受信任方。下面是一个JWT令牌示例: { "iss": "https://sts.windows.net/00000000-0000-0000-0000-000000000000/", "iat": 1610050840, "nbf": 1610050840, "exp": 1610054740,
{
"iss": "https://sts.windows.net/00000000-0000-0000-0000-000000000000/",
"iat": 1610050840,
"nbf": 1610050840,
"exp": 1610054740,
"aio": "E2JgYPi646//0000000000000000000=",
"app_displayname": "my_app_displayname",
"appid": "00000000-0000-0000-0000-000000000000",
"appidacr": "1",
"idp": "https://sts.windows.net/00000000-0000-0000-0000-000000000000/",
"idtyp": "app",
"oid": "00000000-73e4-46ae-b464-000000000000",
"rh": "0.AAAAiKphxJIQoUmmKLTdWWDB80kfo3ST3nNJgG0000000000000.",
"roles": [
"Mail.Send",
"Policy.ReadWrite.TrustFramework"
],
"sub": "00000000-73e4-46ae-b464-000000000000",
"tenant_region_scope": "EU",
"tid": "00000000-0000-0000-0000-000000000000",
"uti": "jDVAsZtcd0ezvvkFN00000",
"ver": "1.0",
"xms_tcdt": 1599800000
}
正如您在这里看到的,我有一个字段roles,其中包含一个角色数组。我试图将此数组解析为特定的声明,如IsPolicyReadWriteRole和IsMailSendRole。但是,我找不到入门包上的任何示例,也找不到如何做到这一点的示例。我不需要这些声明本身,我只是计划在编排步骤中将它们作为先决条件使用。您可以使用此处提到的说明和示例从id\u token\u提示中提取声明- 然后可以使用getsingleitemfromstringcollection声明转换来获取声明值。 然后可以使用claimExist或claimEquals谓词来测试该值 id\u令牌\u提示验证技术配置文件如下所示
<ClaimsProvider>
<DisplayName>Trustframework Policy Engine TechnicalProfiles</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="TpEngine_IdTokenHint_ExtractClaims">
<DisplayName>Trustframework Policy Engine ID Token Hint Setup Technical Profile</DisplayName>
<Protocol Name="None" />
<Metadata>
<Item Key="METADATA">https://login.microsoftonline.com/{tenant}/.well-known/openid-configuration</Item>
</Metadata>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
信任框架策略引擎技术文件
Trustframework策略引擎ID令牌提示设置技术配置文件
https://login.microsoftonline.com/{tenant}/.众所周知的/openid配置
谢谢!那绝对是我想要的。但是,graph令牌在b2c端没有通过验证,因此我无法真正使用它们=(我为您添加了一个示例id\u令牌\u提示提取配置文件,此技术配置文件将验证graph/AAD令牌