【发布时间】:2020-06-29 21:58:06
【问题描述】:
我正在从我的 Chrome 扩展程序的后台脚本调用 chrome.identity.launchWebAuthFlow。
这用于通过https://login.microsoftonline.com 获取隐式用户身份验证
登录弹出窗口看起来很好,允许用户输入凭据。但是,提交凭据后,窗口不会重定向到我的回调重定向 uri。相反,它会重定向到另一个不需要用户操作的页面(这是 Microsoft Azure AD 中的某种公司登录页面)。
此时窗口关闭,我在 launchWebAuthFlow 回调函数中收到 undefined 响应。同时我得到控制台错误:Unchecked runtime.lastError: Authorization page could not be loaded.
同样的流程在浏览器窗口中运行良好:在提供凭据并重定向到公司登录页面后,它最终被重定向到我的重定向 URL(已准备好身份验证令牌)。
由此我得出结论,launchWebAuthFlow 不会等到重定向完成到我的重定向页面,而是过早关闭弹出窗口。
有没有办法防止这种情况发生?
【问题讨论】:
-
这个窗口是自动显示的,它应该是一个受保护的窗口,不会通过任何扩展 API 公开,所以我认为你无法控制它。你所描述的对我来说似乎是一个错误。在 Chrome 的身份验证流程或站点中。尝试在crbug.com 上报告。
标签: javascript google-chrome-extension oauth azure-active-directory