如何预填ADB2C自定义策略中的一些字段?

问题描述

我正在制定 ADB2C 注册自定义政策。有一些字段/用户属性,我想根据使用一些查询参数左右在 url 中传递的值来预填充。我已经尝试了以下链接中提到的 {OAUTH-KV:query_parameter} 声明解析器:https://docs.microsoft.com/en-us/azure/active-directory-b2c/claim-resolver-overview#using-claim-resolvers,但无法实现。任何建议/解决方案都会非常有帮助。提前致谢。

解决方法

这在很大程度上取决于技术资料的类型,但我建议检查您的实施有两件事。

首先,您需要确保设置了 DefaultValue 属性,并将 AlwaysUseDefaultValue 设置为 true。这是 Self Asserted 技术简介中的一个工作示例。

<InputClaims>
  <InputClaim ClaimTypeReferenceId="email" DefaultValue="{OAUTH-KV:userEmailParameter}" AlwaysUseDefaultValue="true"/>
</InputClaims>
<OutputClaims>
   <OutputClaim ClaimTypeReferenceId="email" Required="true"/>
   <OutputClaim ClaimTypeReferenceId="password" Required="true"/>
</OutputClaims>

其次,在某些技术配置文件中,您必须添加 IncludeClaimResolvingInClaimsHandling 元数据属性并将其设置为 true。

<Metadata>
  <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
</Metadata>

请随意编辑您的原始帖子并包含您配置的技术资料,我可能会提供更好的帮助。