首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌OAuth WildCard域名

谷歌OAuth WildCard域名
EN

Stack Overflow用户
提问于 2013-09-11 23:08:35
回答 2查看 4.6K关注 0票数 3

我正在使用google身份验证,但总是遇到原点不匹配的问题。我正在工作的项目有由用户生成的子域。因此,例如,可以有:

代码语言:javascript
复制
john.example.com
henry.example.com
larry.example.com

在我的应用程序设置中,我的来源之一是http://*.example.com,但我得到了一个不匹配的来源。有没有办法解决这个问题?顺便说一下,我的代码看起来像这样:

代码语言:javascript
复制
 gapi.auth.authorize({
                        client_id : 'xxxxx.apps.googleusercontent.com',
                        scope : ['https://www.googleapis.com/auth/plus.me',
state: 'http://henry.example.com', 
'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile'],
                        immediate : false
                    }, function(result) {

                        if (result != null) {
                            gapi.client.load('oath2', 'v2', function() {
                                console.log(gapi.client);
                                gapi.client.oauth2.userinfo.get().execute(function(resp) {
                                    console.log(resp);
                                });
                            });




}
                });
EN

回答 2

Stack Overflow用户

发布于 2013-10-05 06:12:34

万岁,有用而又不必要的变通方法(感谢你把自己复杂化到谷歌的角落)……

我使用Google Drive,使用javascript api打开文件选择器,检索文件info/url,然后使用curl将其下载到我的服务器上。当我最终意识到我所有的通配符域都必须注册时,我几乎要中风了。

我现在要做的是(这是我的用例,如果你需要的话,可以根据你的情况来选择)

在您所在的页面上,创建一个onclick事件来打开一个特定域中的新窗口(https://googledrive.example.com/oauth/index.php?unique_token={some unique token}).

  • On新弹出窗口我做了所有的
  1. 身份验证,有一个按钮点击打开文件选择器,然后从文件中检索至少我需要的元数据。然后,我将令牌(主键)、access_token、下载had和文件名存储在我的数据库(MySQL)中。
  2. 回到第一步的页面,我创建了一个setTimeout()循环,该循环将使用相同的unique_token每秒运行一次ajax调用,以检查是否已将其输入数据库。一旦找到它,我就终止循环,然后检索内容并按我的意愿处理它们(在本例中,我通过一个单独的上载脚本上传它们,该脚本使用curl来获取文件)。

这显然不是处理这个问题的最好方法,但它比进入googles云控制台的每个子域都要好。我打赌你可以用google服务器端的oauth库来做到这一点,但我的用例有点复杂,我很暴躁,因为在过去的4天里,我花在与谷歌的一个愚蠢的小集成上感到沮丧。

票数 4
EN

Stack Overflow用户

发布于 2013-09-17 04:59:49

不支持通配符来源,重定向URI也是如此。

可以注册通配符源的事实是一个错误。

您可以使用state参数,但要非常小心,确保不会创建开放重定向器(可以重定向到任意URL的端点)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18744888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档