azure - Azure B2C:使用自定义声明查询 AAD?
问题描述
请注意,这与之前的问题有关,但我已经通过自定义策略对 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 中是否已存在自定义声明值?
解决方案
正如 Abhishek 所说,您无法使用自定义extension_organizationName
声明查询 AAD B2C。另一种解决方案是通过调用自定义 REST API检查组织声明是否已存在于 AAD 中,该 API 通过 Graph API 查询 AAD(类似于本博文中描述的方式)。
推荐阅读
- r - 如果两个dfs中的两个“age”变量在R中匹配,如何将新列添加到作为变量“hr”的-ln的数据框中?
- wordpress - How to use upgrader_process_complete hook in WordPress to check for spcific plugin update
- google-classroom - 如果我使用与我共享的表单在 Google 课堂上创建作业,谁会看到提交的内容?
- javascript - 从javascript函数spring boot thymeleaf js内部设置模型属性var
- java - asp MVC存储库中的返回类型问题
- perl - IPC::System::Simple capturex 是如何工作的?
- javascript - 如何获取 async / await 函数的结果?
- excel - 根据另一个单元格对一个单元格进行颜色格式化
- python - 在 Tensorflow 中定义 MapDataset 形状类型
- c++ - 如何修复 C++ 中的“没有函数模板 'Defer' 的实例与参数列表匹配”错误?