我使用内置的 SignUpOrSignIn 策略已经有一段时间了,但我现在正在转向自定义策略。
当我设置内置策略时,我能够从内置应用程序声明(如displayName和jobTitle)列表中进行选择,并选择在用户登录时我希望在令牌中返回哪些声明。
现在我正在设置我想做同样事情的自定义策略,但我无法让它工作。
到目前为止,TrustFrameworkBase我已经添加了ClaimType一个jobTitle:
<ClaimType Id="jobTitle">
<DisplayName>Job Title</DisplayName>
<DataType>string</DataType>
<UserHelpText>Job title.</UserHelpText>
</ClaimType>
我OutputClaim在TechnicalProfilewith ID中添加了以下内容login-NonInteractive:
<OutputClaim ClaimTypeReferenceId="jobTitle" PartnerClaimType="jobTitle" />
我OutputClaim在TechnicalProfilewith ID中添加了以下内容SelfAsserted-LocalAccountSignin-Email:
<OutputClaim ClaimTypeReferenceId="jobTitle" />
但是该jobTitle声明并没有与令牌中的其他声明一起出现。我也做过同样的事情,given_name而且确实有效。如果我将第一个更改OutputClaim为:
<OutputClaim ClaimTypeReferenceId="jobTitle" PartnerClaimType="given_name" />
那么jobTitle索赔确实通过了,但具有given_name索赔的价值。这意味着我只是用错了PartnerClaimType,但似乎在任何地方都没有它们的列表。
当用户使用本地 B2C 帐户登录时,如何获取内置职位属性作为令牌中的声明返回?