内置用户策略注册页面中的JavaScript在Azure AD B2C上不起作用

时间:2019-03-07 04:12:32

标签: azure azure-active-directory azure-ad-b2c

我正在尝试在项目中使用Azure广告B2C进行登录和注册。 为此,我创建了一些用户策略,并且正在使用自定义HTML进行注册。我的要求是在注册页面加载后执行一些JavaScript。

我已在“属性”中启用了JavaScript设置。仍然找不到在HTML中放置的脚本。服务器在加载页面时将删除脚本,但是如果我在策略中运行选项“运行用户流”,则可以找到并执行脚本。 是否还有其他需要更改的设置,或者此JavaScript仅对自定义策略启用?

政策属性:

Policy properties
(点击图片放大)

1 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题。要解决此问题,请确保将您的应用程序代码配置为使用b2clogin而不是login.onmicrosoft,即https://yourTenant.b2clogin.com作为授权。

显然,使用login.onmicrosoft将从您的自定义UI中剥离JavaScript。不知道这是否在任何地方都有记录,但这对我有用。很抱歉没有为此提供任何具体文档。

在我的特定情况下,我使用的是NodeJS的MSAL库。将我的配置更改为以下内容(实例是在此处查看的内容):

const instance = 'https://myTenant.b2clogin.com/tfp/';
const authority = `${instance}${config.tenant}/${config.signInPolicy}`;

const options = {
  logger: logger,
  redirectUri: config.redirectUri,
  cacheLocation: config.cacheLocation,
  postLogoutRedirectUri: config.postLogoutRedirectUri,
};

new Msal.UserAgentApplication(config.applicationId, authority, authCallback, options);