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