我阅读了B2C访问令牌文档,发现租户ID声明(tid)不在列表中。这与普通的Azure Active Directory访问令牌声明不同。
我需要在B2C访问令牌(使用B2C策略)上拥有此声明以使令牌缓存正常工作,但我不知道如何将其包含在有效载荷中。
如何在B2C访问令牌有效载荷中包含TenantId(tid)声明?
我需要在B2C访问令牌(使用B2C策略)上拥有此声明以使令牌缓存正常工作,但我不知道如何将其包含在有效载荷中。
如何在B2C访问令牌有效载荷中包含TenantId(tid)声明?
不确定这是否真的能帮到你。但我已经开始使用自定义策略,这样可以更好地控制返回给用户的内容。
在我的示例中,我是这样返回tenantId的:
File: SignUpOrSignin.xml
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />
<OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="picture" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
<OutputClaim ClaimTypeReferenceId="correlationId" AlwaysUseDefaultValue="true" DefaultValue="{Context:CorrelationId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>