我一直致力于使用chrome.identity.launchWebAuthFlow
API对用户进行Google帐户身份验证的Chrome应用。
设置:
chrome.identity.launchWebAuthFlow({'url': <AUTH-URL>, 'interactive': true},
function(redirect_url) {
<handle URL here>
}
});
<AUTH-URL>
指向我自己服务器上的端点,该端点重定向到https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=http://<APP-ID>.chromiumapp.org/...&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&access_type=offline&approval_prompt=force
此流程在两天前工作正常。单击该按钮将打开chrome身份窗口,显示Google登录页面,输入我的凭据将调用回调函数。
今天停止了工作。我只是看到无法加载“授权”页面&#39;单击登录按钮后立即显示消息。
我尝试在服务器上设置5秒延迟(重定向之前),但无法加载“授权”页面&#39;消息在5秒钟之前出现。
任何想法可能会发生什么?
答案 0 :(得分:0)
我们终于在登录流程2天后无法解决这个问题。正在呈现的页面(<AUTH-URL>
)包含Google跟踪代码管理器代码段。
我们最近更新了包含MixPanel的内容。这导致一些具有<script>
属性的async
元素被注入到页面中。从GTM中删除Mixpanel立即解决了这个问题。
我猜测删除<script async ...>
就行了。这不仅仅是OAuth流程 - 简单的<a>
链接也不起作用。