【问题标题】:MSAL: Why is setting the redirectUri to a blank page recommended?MSAL:为什么建议将 redirectUri 设置为空白页?
【发布时间】:2021-06-19 02:59:14
【问题描述】:

我正在阅读这份文件:https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md

上面写着:

在使用弹出式 API 时,我们建议将 redirectUri 设置为空白页面或未实现 MSAL 的页面。这将有助于防止潜在问题并提高性能。

  1. 什么是“潜在问题”和“性能”?
  2. 如果我将redirectUri 设置为空白页,用户是否会被重定向到空白页?

【问题讨论】:

    标签: azure-ad-b2c msal msal.js


    【解决方案1】:

    对于静默和弹出流,应用程序的主窗口(启动操作)将监视 iframe/popup 是否重定向回应用程序,然后解析出响应。由于该主窗口正在完成所有工作,因此 MSAL 不需要在用于这些操作的重定向 URI 上运行。

    对于loginRedirect/acquireTokenRedirect,主窗口本身被重定向到登录屏幕,然后返回到应用程序,因此使用的重定向页面本身必须具有 MSAL 才能处理响应。

    1. 什么是“潜在问题”和“性能”?

    不确定“潜在问题”和“性能”,但如果我们在此处设置非空白重定向 uri,可能会导致超时问题。见this post

    1. 如果我将redirectUri 设置为空白页,用户是否会被重定向到空白页?

    没有。它不会将用户重定向到空白页面,因为主窗口将完成所有工作。

    【讨论】:

    • 这都是正确的。关于潜在问题和性能,对于静默和弹出请求,浏览器需要在解析响应之前加载您的重定向 uri,如果此页面需要很长时间加载,则会影响这些请求的性能。我们看到的最常见问题是用于重定向 uri 的页面在主 MSAL 实例有机会解析它之前破坏/删除响应哈希,这可能导致超时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2013-05-10
    • 1970-01-01
    相关资源
    最近更新 更多