【问题标题】:Using msal 1.3.1 ,handleRedirectCallback doen't hit using redirect flow使用 msal 1.3.1,handleRedirectCallback 不会使用重定向流命中
【发布时间】:2020-09-22 14:41:27
【问题描述】:

我正在使用 msal 1.3.1,我观察到弹出流对我来说效果很好,而重定向流不起作用。

我的代码如下所示,所有先决条件都得到了照顾,因为弹出流程可以正常工作。

  if (redirect) {
        msalApp.handleRedirectCallback(() => {(tokenRes : AuthResponse) =>{
            alert(tokenRes.accessToken);
        }});
        return msalApp.loginRedirect({
            ...GRAPH_REQUESTS.APP,
            redirectUri: "http://localhost:3008"
        });
    }

问题在于它将 idtoken 附加到 url 并永远加载,

【问题讨论】:

    标签: reactjs azure-active-directory msal msal.js


    【解决方案1】:

    我已经在我的环境中使用 MSAL 1.3.1 进行了测试,并且工作正常。如果重定向 URL 不同,则可能会发生此错误。可能是使用 http 和 https 之间的混淆,这在 azure 应用程序注册中不被视为相同的 URL。在您的 Azure 门户应用程序注册中,检查您是否使用“HTTP”或“HTTPS”作为重定向 URL 并进行相应更新。例如,如果它是 HTTPS,则在您的代码中也将其更改为使用 HTTPS。它将解决问题。

    【讨论】:

      【解决方案2】:

      您是否查看过 Microsoft 构建的 MSAL React 示例应用程序?

      网址:https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/react-sample-app
      对您特别重要:https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/react-sample-app/src/AuthProvider.js

      这些示例显示了对弹出和重定向流的支持(适用于 IE 或其他旧版浏览器)。如果您不需要同时支持这两个流程,则无需同时包含两者的代码。

      【讨论】:

      • 两个链接都坏了。
      【解决方案3】:

      我会尝试查看 msal 拦截器。复制粘贴您在 Github 中使用的版本的代码,然后从那里进行调试。

      获取令牌可能无法按预期工作。或者,您可能需要将 IE 的 storeAuthStateInCookie 设置为 true。

      【讨论】:

        猜你喜欢
        • 2022-01-05
        • 2018-09-05
        • 2017-03-30
        • 2018-11-05
        • 2021-08-15
        • 2017-03-15
        • 1970-01-01
        • 1970-01-01
        • 2019-07-01
        相关资源
        最近更新 更多