【问题标题】:Azure B2C -- Configure "Forgot Password" workflow without redirect?Azure B2C - 配置“忘记密码”工作流而不重定向?
【发布时间】:2021-02-22 19:46:19
【问题描述】:

背景

根据the docs site,Azure B2C 中忘记密码工作流的预期步骤是:

  • 查看登录页面
  • 点击“忘记密码链接”
  • B2C 向应用发送错误AADB2C90118,“用户忘记了密码”。
  • 然后应用程序应重定向回相应的密码重置工作流程。

挑战

但是,就我而言,我将 Azure AD B2C 与不具备自定义应用程序灵活性的 CMS 集成。此产品中的身份工作流(我无权配置)不了解如何处理来自 Azure AD B2C 提供商的此类错误。

这意味着当前任何点击登录页面上忘记密码链接的用户都会被带到 CMS 中的 500 错误。

问题

  • 是否有任何方法可以修改此工作流,使其重定向到指定的用户旅程/工作流,而不是返回错误?在这种情况下,如果该工作流程是硬编码的,就可以了。
  • 除此之外,有没有办法指示 Azure B2C 不呈现“忘记密码”链接?还是我需要通过自定义 CSS / JS 删除它? (如果有必要也可以,但希望能避免。)

【问题讨论】:

    标签: azure-ad-b2c azure-ad-b2c-custom-policy


    【解决方案1】:

    您可以通过多种方式解决此问题,但我建议您先查看此示例以嵌入密码重置过程。

    https://github.com/azure-ad-b2c/samples/tree/master/policies/embedded-password-reset

    您还可以修改 setting.forgotPasswordLinkLocation 元数据以隐藏您的自我断言配置文件,如您的问题所述。

    https://docs.microsoft.com/en-us/azure/active-directory-b2c/self-asserted-technical-profile#metadata

    【讨论】:

    • 太棒了!感谢您提供示例链接;我已经分叉了那个回购,但错过了它作为一个条目。如果该流程有效,我一定会将此标记为答案。很高兴有一个选择。
    • 这是目前唯一的选择。很快我们就会被预先烤好。
    • 请注意,使用 Layout 版本 2.1.2 时不会返回错误 AADB2C90118。相反,您会在 b2c 端收到服务器错误。
    • 如果有人有见识回答这个问题stackoverflow.com/questions/66337730/…
    【解决方案2】:

    虽然 Brad C 提供的答案非常出色且值得考虑,但我最终以一种稍微不同的方式解决了这个问题,以更轻松地适应我们的用例。

    在登录页面加载后,我将 ForgotPassword 链接的内容替换为对我创建的 passwordreset 工作流的引用。我获取页面的当前 URL,并将 signin_signup 的实例替换为 passwordreset

    我的自定义 HTML 页面中的 jQuery 如下:

    $(document).ready(function() {
        var currentUrl =  $(location).attr('href');
        var modifiedPasswordResetUrl = currentUrl.replace('signup_signin', 'passwordreset');
    
        var passwordResetLinkSelector = $("a#forgotPassword");
    
        if(passwordResetLinkSelector.length > 0) {
            // only try to set the href if it's actually found; it won't be there on some screens that use this template.
            passwordResetLinkSelector.attr('href', modifiedPasswordResetUrl);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多