You need to enable JavaScript to run this app. Azure AD B2C 使用条款接受自定义策略如何展示条款供用户同意前查阅
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD B2C 使用条款接受自定义策略如何展示条款供用户同意前查阅

版本化使用条款自定义策略运行逻辑
  • 触发逻辑:用户完成身份校验(输入账号密码/社交登录验证通过)后,策略会首先读取该用户目录属性中存储的已同意使用条款版本号,与策略中配置的当前最新条款版本比对。若用户无同意记录、或已同意版本低于最新版本,会自动拦截登录流程,跳转至条款同意页面。
  • 校验逻辑:同意页面会强制要求用户勾选同意选项才能继续,未勾选的情况下无法提交进入后续流程。
  • 持久化逻辑:用户提交同意后,策略会将当前条款版本号、用户同意的时间戳写入用户的目录扩展属性中,只要后续策略中配置的条款版本不更新,该用户再次登录时不会重复触发同意流程。
插入使用条款内容的操作步骤

你可以通过修改策略的本地化配置直接嵌入条款内容,无需额外对接外部页面,操作如下:

  1. 新增条款内容的声明定义
    首先在策略的ClaimsSchema节点中新增一个用于展示条款内容的声明:
<ClaimsSchema>
  <ClaimType Id="tou_content">
    <DisplayName>使用条款内容</DisplayName>
    <DataType>string</DataType>
    <UserInputType>Paragraph</UserInputType>
  </ClaimType>
</ClaimsSchema>
  1. 在本地化配置中写入实际条款内容
    找到条款同意页面对应的LocalizedResources节点,将你的条款内容写入对应的本地化字符串中,支持HTML格式控制样式:
<LocalizedResources Id="api.selfasserted.tou.zh-CN">
  <LocalizedStrings>
    <LocalizedString ElementType="ClaimType" ElementId="tou_content" StringId="DisplayName">
    <![CDATA[
    <!-- 可通过CSS控制内容滚动,避免页面过长 -->
    <div style="max-height: 320px; overflow-y: auto; border: 1px solid #e0e0e0; padding: 16px; border-radius: 4px; margin-bottom: 20px;">
      <h3>XX服务使用条款</h3>
      <p>1. 您确认已年满18周岁,具备使用本服务的完全民事行为能力。</p>
      <p>2. 您在使用本服务过程中需遵守中华人民共和国相关法律法规,不得从事任何违法违规活动。</p>
      <p>3. 我们有权根据业务运营需要调整条款内容,调整后会更新条款版本,重新向您征求同意。</p>
      <!-- 补充其余所有条款内容即可 -->
    </div>
    ]]>
    </LocalizedString>
    <!-- 调整同意复选框的提示文案 -->
    <LocalizedString ElementType="ClaimType" ElementId="extension_TouConsented" StringId="DisplayName">我已充分阅读并同意上述全部使用条款</LocalizedString>
  </LocalizedStrings>
</LocalizedResources>

如果需要支持多语言,只需要为不同语言的LocalizedResources节点分别配置对应语言的条款内容即可。
3. 调整自断言页面的声明展示顺序
修改条款同意页面对应的自断言技术配置文件,将条款内容声明放在同意复选框之前,确保用户先看到条款再操作:

<TechnicalProfile Id="SelfAsserted-ToU">
  <Metadata>
    <!-- 开启HTML内容渲染支持 -->
    <Item Key="AllowDynamicElements">true</Item>
    <Item Key="ContentDefinitionReferenceId">api.selfasserted.tou</Item>
  </Metadata>
  <OutputClaims>
    <!-- 先展示条款内容,再展示同意复选框 -->
    <OutputClaim ClaimTypeReferenceId="tou_content" Required="false"/>
    <OutputClaim ClaimTypeReferenceId="extension_TouConsented" Required="true"/>
  </OutputClaims>
</TechnicalProfile>
  1. 上传更新策略
    将修改完成的策略文件上传到Azure AD B2C门户替换原有策略,测试生效即可。

内容的提问来源于stack exchange,提问作者MB700

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 17:27:05