Azure B2C 注册。在输入验证码之前隐藏密码字段?

Azure B2C sign-up. Hide password fields until verification code entered?

在Azure B2C注册页面,有没有办法隐藏所有的密码和"display name"字段,直到验证码输入并验证成功?

我们已经阅读了关于可以进行哪些自定义的页面: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-ui-customization 它指出 JavaScript 是不允许的。

想知道是否有其他方法可以完成此任务?

谢谢!

目前没有办法在验证码体验完成后只显示密码和用户属性字段

您可以在 Azure AD B2C feedback forum or vote for the more generic "Add support for JavaScript inside the custom UI branding page" feedback entry 中请求此特定功能。

您可以将自己的 JavaScript 客户端代码添加到您的 Azure Active Directory (Azure AD) B2C 应用程序。下面的文章介绍了如何更改用户流或自定义策略以启用脚本执行。

https://docs.microsoft.com/en-us/azure/active-directory-b2c/javascript-samples#javascript-samples

示例javascript代码到show/hide密码输入项

function makePwdToggler(pwd){
  // Create show-password checkbox
  var checkbox = document.createElement('input');
  checkbox.setAttribute('type', 'checkbox');
  var id = pwd.id + 'toggler';
  checkbox.setAttribute('id', id);

  var label = document.createElement('label');
  label.setAttribute('for', id);
  label.appendChild(document.createTextNode('show password'));

  var div = document.createElement('div');
  div.appendChild(checkbox);
  div.appendChild(label);

  // Add show-password checkbox under password input
  pwd.insertAdjacentElement('afterend', div);

  // Add toggle password callback
  function toggle(){
    if(pwd.type === 'password'){
      pwd.type = 'text';
    } else {
      pwd.type = 'password';
    }
  }
  checkbox.onclick = toggle;
  // For non-mouse usage
  checkbox.onkeydown = toggle;
}

function setupPwdTogglers(){
  var pwdInputs = document.querySelectorAll('input[type=password]');
  for (var i = 0; i < pwdInputs.length; i++) {
    makePwdToggler(pwdInputs[i]);
  }
}

setupPwdTogglers();

希望对您有所帮助。