【发布时间】:2021-02-24 05:44:15
【问题描述】:
请注意,这与 previous question 相关,但我对自定义策略的 Azure Active Directory (AAD) 有了更深入的了解。
是否可以使用自定义声明来查询 AAD?例如,我想使用一个名为 organizationName (extension_organizationName) 的声明来检查它是否已经定义。如果它已经定义,那么我不想创建帐户。
这是我为确定这一点而编写的索赔提供者:
<ClaimsProvider>
<DisplayName>Azure Active Directory</DisplayName>
<TechnicalProfiles>
<!--Demo: This technical profile tries to find a local account with provided email address-->
<TechnicalProfile Id="AAD-UserReadOrganization-NoError">
<Metadata>
<Item Key="Operation">Read</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">false</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_organizationName" Required="true" />
</InputClaims>
<OutputClaims>
<!-- Required claims -->
<OutputClaim ClaimTypeReferenceId="tempOrganization"/>
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
但是,我遇到了与之前相同的验证错误,但原因不同:
无法验证所提供的信息。
如果我无法查询组织,那么我还能如何检查 AAD 中是否已存在自定义声明值?
【问题讨论】:
标签: azure azure-active-directory azure-ad-b2c azure-ad-b2c-custom-policy