在Azure B2C注册页面中,有没有办法隐藏所有密码和“显示名称”字段,直到验证码成功输入并验证?
我们已经阅读了关于可以进行哪些自定义的页面:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-ui-customization并且它声明JavaScript是不允许的。
所以想知道是否有另一种方法来完成这项任务?
谢谢!
此时,验证码体验完成后,无法仅显示密码和用户属性字段。
您可以在Azure AD B2C feedback forum中申请此特定功能,或投票选择更通用的"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代码显示/隐藏密码输入项
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();
希望能帮助到你。