gpt4 book ai didi

azure - 当我使用自定义策略时,如何在 token 中返回 Azure AD B2C 的内置声明?

转载 作者:行者123 更新时间:2023-12-03 01:42:31 26 4
gpt4 key购买 nike

我已经使用内置 SignUpOrSignIn 策略一段时间了,但现在正在转向自定义策略。

当我设置内置策略时,我可以从内置应用程序声明列表中进行选择(例如 displayNamejobTitle),然后选择当用户登录时,我希望在 token 中返回哪些内容。

现在我正在设置自定义策略,我想做同样的事情,但我无法让它工作。

到目前为止,在 TrustFrameworkBase 中,我添加了 jobTitleClaimType:

<ClaimType Id="jobTitle">
<DisplayName>Job Title</DisplayName>
<DataType>string</DataType>
<UserHelpText>Job title.</UserHelpText>
</ClaimType>

我已将以下 OutputClaim 添加到 ID 为 login-NonInteractiveTechnicalProfile:

<OutputClaim ClaimTypeReferenceId="jobTitle" PartnerClaimType="jobTitle" />

我已将以下 OutputClaim 添加到 ID 为 SelfAsserted-LocalAccountSignin-EmailTechnicalProfile:

<OutputClaim ClaimTypeReferenceId="jobTitle" />

但是 jobTitle 声明并未通过 token 中的其他声明。我对 given_name 做了同样的事情,而且确实有效。如果我将第一个 OutputClaim 更改为:

<OutputClaim ClaimTypeReferenceId="jobTitle" PartnerClaimType="given_name" />

然后 jobTitle 声明确实通过,但具有 given_name 声明的值。这意味着我只是使用了错误的 PartnerClaimType 但似乎没有任何地方有它们的列表。

当用户使用本地 B2C 帐户登录时,如何获取内置职位属性作为 token 中的声明返回?

最佳答案

如果您只想读取用户的 jobTitle 声明(或其他声明),然后在 token 中发出它(或它们),那么您必须:

1) 声明 jobTitle 声明:

<ClaimType Id="jobTitle">
<DisplayName>Job Title</DisplayName>
<DataType>string</DataType>
<DefaultPartnerClaimTypes>
<Protocol Name="OAuth2" PartnerClaimType="job_title" />
<Protocol Name="OpenIdConnect" PartnerClaimType="job_title" />
</DefaultPartnerClaimTypes>
</ClaimType>

2) 将 jobTitle 声明作为输出声明添加到 AAD-UserReadUsingObjectId 技术配置文件中:

<TechnicalProfile Id="AAD-UserReadUsingObjectId">
...
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="jobTitle" />
</OutputClaims>
...
</TechnicalProfile>

3) 将 jobTitle 声明作为输出声明添加到依赖方技术配置文件中:

<RelyingParty>
...
<TechnicalProfile Id="PolicyProfile">
...
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="jobTitle" />
</OutputClaims>
...
</TechnicalProfile>
</RelyingParty>

关于azure - 当我使用自定义策略时,如何在 token 中返回 Azure AD B2C 的内置声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51619526/

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