Azure B2C自定义HTML页中如何访问已填充的Claim值?
解决Azure B2C自定义HTML中只读Claim显示异常的问题
修正OutputClaim配置:你当前的OutputClaim仅指定了ClaimType的ID,系统默认只会渲染ID字符串而非实际值。需要显式绑定Claim的实际值,修改配置如下:
<OutputClaim ClaimTypeReferenceId="labsobject" Value="{Claim:labsobject}" />检查ClaimType定义:确保ClaimType的DataType与实际值类型匹配,同时UserInputType设置正确,示例配置:
<ClaimType Id="labsobject"> <DisplayName>Lab Object</DisplayName> <DataType>string</DataType> <UserInputType>Readonly</UserInputType> </ClaimType>自定义HTML中正确绑定/读取值:
- 若要直接渲染值,可在HTML模板中使用
{Claim:labsobject}占位符,比如:<div class="readonly-value">{Claim:labsobject}</div> - 若使用输入框,需手动设置value属性绑定值:
<input type="text" readonly value="{Claim:labsobject}" id="labsobject" /> - 用JS读取时,避免直接依赖输入框的value(只读场景可能存在绑定延迟),可直接通过页面模板渲染的隐藏字段或B2C上下文对象获取。
- 若要直接渲染值,可在HTML模板中使用
验证TechnicalProfile执行顺序:确保填充
labsobjectClaim的TechnicalProfile在当前使用自定义HTML的TechnicalProfile之前执行,保证Claim值已写入用户上下文。
内容的提问来源于stack exchange,提问作者americanslon
相关产品推荐
相关产品推荐

