重定向无法在chrome.identity

时间:2015-05-05 11:46:40

标签: javascript google-chrome oauth-2.0 google-chrome-app

我一直致力于使用chrome.identity.launchWebAuthFlow API对用户进行Google帐户身份验证的Chrome应用。

设置:

  1. 点击应用中的登录按钮会执行以下代码: chrome.identity.launchWebAuthFlow({'url': <AUTH-URL>, 'interactive': true}, function(redirect_url) { <handle URL here> } });
  2. <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秒钟之前出现。

    任何想法可能会发生什么?

1 个答案:

答案 0 :(得分:0)

我们终于在登录流程2天后无法解决这个问题。正在呈现的页面(<AUTH-URL>)包含Google跟踪代码管理器代码段。

我们最近更新了包含MixPanel的内容。这导致一些具有<script>属性的async元素被注入到页面中。从GTM中删除Mixpanel立即解决了这个问题。

我猜测删除<script async ...>就行了。这不仅仅是OAuth流程 - 简单的<a>链接也不起作用。