谷歌Oauth2.0认证 - 不继续redirect_uri

时间:2014-12-29 17:24:28

标签: oauth oauth-2.0 google-oauth google-authentication gapi

我尝试使用google登录我的网站。 用户可以访问我的网站3个域

1)常规链接(HTTP和WWW ......) 2)http://example.com - 没有www 3)apps.facebook.com/example - facebook app

我们希望允许用户在这三个选项中连接谷歌。

我们正在使用gapi(google javascript库)来验证用户身份。 我的代码如下:

   var config = {
        'client_id': 'my_client_id',
        'scope': 'my_scopes',
        **'redirect_uri' : "https://www.example.com/oauth/",**
        'immediate': immediate
    };
    **gapi.auth.authorize(config, function(){});**

正如您所看到的,我将重定向uri设置为gapi配置的一部分。 我们创建了一些弹出窗口,以便为这三个域提供相同的uri。

我的问题是,如果我在没有WWW的情况下从域登录我的网站,则授权不起作用且用户不会重定向到redirect_uri链接 - 这意味着,我们没有他的令牌。

如果我在redirect_uri中删除了WWW(所以它看起来像https://example.com/oauth/) facebook域名没有工作......

很沮丧.. 有人熟悉这种问题吗? 有什么想法吗?

我们花了太多时间......

由于 ž

1 个答案:

答案 0 :(得分:1)

您可以在Google API控制台中为单个客户注册多个重定向URI,这样您就可以为每个域注册一个,并在授权请求的redirect_uri参数中为当前访问的域传递一个。您不需要在域中使用相同的重定向URI,以便解决状态/令牌恢复问题。 enter image description here