使用动态HTML

时间:2017-09-15 10:59:43

标签: html css azure azure-ad-b2c

我正在尝试按照此link为Azure AD B2C注册和登录策略配置自己的htmlCSS

我成功将用户带到了自定义Sign-UpSign-In页面,但现在我想拥有动态注册页面。我希望以query string或其他方式传递一些值,并根据我想添加的值或删除html中的一些元素。

将来我想将这些值放在数据库中并在渲染html之前查询它们。

这可以实现吗?任何指导都非常感谢。

3 个答案:

答案 0 :(得分:1)

简短回答,今天没有简单的方法可以向自定义Azure AD B2C用户界面添加动态行为

实现此目标的最可行方法是使用Azure AD B2C不支持的JavaScript。

您可以通过在Azure AD B2C反馈论坛中投票来支持此问题并及时了解其进展:Add support for JavaScript inside the custom UI branding page

潜在的解决方法:使用不同的UI排列/变体创建单独的政策。这将允许您使用单个查询字符串参数(策略)来确定要选择的UI。

答案 1 :(得分:1)

默认情况下,B2C禁用Javascript,因为策略是在login.microsoft.com上执行的

B2C支持称为虚荣域名的东西,虽然你必须要求它,这样做会使政策在你的域上执行,而不是

login.microsoft.com?p=signinpolicy url将是

myvanitydomain?p = signinpolicy

这个过程漫长而且令人筋疲力尽,据我所知,不向公众开放

通过更改此功能,您现在可以运行javascript,因为Microsoft不希望您在其域上运行Javascript

到目前为止,我还没有设法找到任何方法在页面加载时自动启用Javascript,因为Microsoft删除了所有脚本标记。

答案 2 :(得分:1)

如果您正在编写自定义策略,并且希望根据查询字符串参数更改Identity Experience Framework(IEF)加载的HTML模板,则可以在依赖方策略中定义此查询字符串参数,如下所示:

<RelyingParty>
  <UserJourneyBehaviors>
    ...
    <ContentDefinitionParameters>
      <Parameter Name="campaign_id">{OAUTH-KV:campaign_id}</Parameter>
    </ContentDefinitionParameters>
  </UserJourneyBehaviors>
  <TechnicalProfile>
    ...
  </TechnicalProfile>
</RelyingParty>

将查询字符串参数添加到身份验证请求时:

https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize/?p=b2c_1a_sign_up_sign_in&campaign_id=1

然后IEF使用此查询字符串参数加载HTML模板:

https://b2c.contoso.com/templates/signupsignin?campaign_id=1