我们正在为Webserver应用程序执行OAuth2.0身份验证流程,以获取我们的marketplace应用程序的用户ID . 作为流程的一部分,当我们重定向到Google的OAuth2.0服务器时,我们会收到500错误 .

在开发者控制台上我们看到以下内容

  • 浏览器被重定向到auth uri . 它使用范围,redirect_uri,response_type(:code),client_id,access_type(:offline)的查询字符串参数执行https://accounts.google.com/o/oauth2/auth的GET . 这导致状态响应为200

  • 上面的一个作为referer,它会做更多的GET,所有人都返回状态码200

  • 最后它执行https://accounts.google.com/o/oauth2/approval的POST,查询字符串参数为hd,as,pageId(:none),xsrfsign . 返回状态错误500 .

我们永远不会打电话给我们的服务器redirect_uri . 浏览器显示500,其中显示“出现错误 . 请稍后再试 . 这就是我们所知道的 . ”

关于何时发生这种情况的任何指针都将非常有用 .

请注意,我们之前已经测试了一个私有应用程序,它运行正常,并且auth endpoints 本身的GET调用获得302重定向状态,该代码重定向到redirect_uri,代码作为查询参数 . 这两个应用程序之间的区别在于,失败的应用程序具有更多与之关联的范围 .

我们已经重新检查了市场sdk配置,并没有发现任何特定问题 . GET调用auth endpoints 的查询参数也看起来很好 .