首页 > 解决方案 > 可以在忘记密码的链接上禁用 &hint= 吗?

问题描述

当用户尝试登录但因密码错误而失败,然后单击忘记密码的链接时,他们将被定向到包含其 PII 电子邮件的 URL。

在单击链接之前不会注入提示,因此它可能会被一些自定义 JS 伪造,但我们希望使用配置而不是自定义..

例如 https://b2ctenant.b2clogin.com/b2ctenant.onmicrosoft.com/B2C_1A_customflow/api/CombinedSigninAndSignup/forgotPassword?csrf_token=xxxx&tx=StateProperties=xxxx&p=B2C_1A_customflow&hint=blablablah@example.com

此 PII 有可能被捕获/记录/等,我们非常希望避免这种情况。

那么,我们可以关闭它吗?

是的,我们知道这是帮助客户的便利/生活质量功能,但透露他们的 PII 似乎是一个糟糕的权衡。

标签: azure-ad-b2c

解决方案


使用自定义 JS 的 Azure AD B2C 指南 ( https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-javascript-overview#guidelines-for-using-javascript ) 直接禁止在锚点/链接上绑定点击事件,但我们可以使用 mousedown 事件。

有了它,我们可以使用下面的 JS 片段来清除 signInName 字段,从而防止链接包含提示参数:

$("#forgotPassword").mousedown(function () {
    $("#signInName").val("");
});

这解决了自定义问题,所以现在我们等着看是否可以用官方配置选项替换它。


推荐阅读