我已经获得了完全授权,可以在任何浏览器上使用。使用任何给定的OAuth2服务器,我都可以进行身份验证。但是,当尝试通过Android进行授权时,我从scripts.google.com获得的唯一答复是“状态令牌无效或已过期。请重试。”
通过WebIDE检查设备后,我发现我从来都不是来自scripts.google.com,它只是打开了一个直接指向oauth.myserver.com?state=abc&redirect_uri=https://scripts.google.com/的新窗口...
是这样吗?在浏览器中,您从scripts.google.com“起源”,因此状态被保存为会话变量。返回时,URL中的状态与保存的状态匹配,所以一切都很好。但是,在Android上,scripts.google.com中没有设置状态,因为它是一个全新的没有状态的窗口,您所拥有的只是重定向URI。
我尝试在WebView中打开它,希望至少能起作用,但这不是一种选择。取消设置默认浏览器,只能让我选择在Firefox或Chrome中打开它。
我在这里想念什么?