2017-09-15 32 views
1

我想通过以下link来配置我自己的htmlCSS Azure AD B2C注册和登录策略。Azure AD B2C用户界面定制与动态HTML

我成功地让用户定制了Sign-UpSign-In页面,但现在我想拥有动态注册页面。我想通过query string或其他方式传递一些值,并基于这些值来添加或删除html中的某些元素。

将来我想将这些值放入数据库中,并在呈现html之前查询它们。

这是可以实现的吗?任何指导,高度赞赏。

回答

1

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

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

可以支持这一要求,并通过在Azure的AD B2C反馈论坛表决保持最新其进展:Add support for JavaScript inside the custom UI branding page

潜在解决方法:使用你的不同的用户界面排列/变化的单独政策 。这将允许您有一个查询字符串参数(策略)来确定选择哪个UI。

1

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

B2C支持一些所谓的虚荣域虽然你将有权要求它,它看来,政策执行这样做是什么让你的域所以不是

login.microsoft.com?p=signinpolicy这个网址被

myvanitydomain?p = signinpolicy

的过程是漫长而辛苦和发R作为我知道是不开放给公众

通过改变这一点,你现在可以运行JavaScript,因为微软不想让你对自己的域

到目前为止,我还没有设法运行的JavaScript找到任何方式自动启用当微软删除所有脚本标签时,会在页面加载Javascript。

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模板,这个查询字符串PA rameter:

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

+0

谢谢克里斯,但我怎么访问的查询字符串里的html参数,而JavaScript的? – Venky

+0

您是否想要根据查询字符串参数在“

”元素的外部或内部添加和移除元素? –

+0

我想在内部和外部添加/删除元素。 – Venky