Google云端点和服务帐户返回:Oauth framework用户与Oauth token us不匹配

2024-09-30 01:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用类似于的服务帐户从cmdline访问google云端点

https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py

按照示例中的说明,我创建了一个clientid+pk12证书,并使用它们创建来自oauth2的SignedJwtAsertionCredential调用的凭证客户端.client模块。在

当我调用运行在本地devserver上的云端点时,工作如预期,但是当我调用部署的gae云端点时,我得到了

Oauth框架用户与Oauth令牌用户不匹配。在

似乎在oauth.get_客户端_id(scope)从user_id_token调用。在

当我添加了一个异常的回溯时,它看起来是来自于“也许是”引发了“异常”

E 2014-01-02 10:30:53.926 raise NotAllowedError(错误详情) E 2014-01-02 10:30:53.926未允许误差

有没有办法在不更改应用程序的身份验证类型的情况下解决此错误?由于域限制,似乎不允许请求?在

我的目标是在没有用户参与的情况下调用云端点,不确定使用SignedJwtAsertionCredential调用是正确的还是可能的?在

附加信息。在

终结点的身份验证类型设置为“Google App Domain”

在endpoint方法上,user-required为True

使用时,从SignedJwtAssertCredential生成的访问令牌与预期的一样 https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29。在

当涉及身份验证流时,端点在api资源管理器中按预期工作。在

使用endpoints_proto_数据存储库。在


Tags: 用户httpscomclienttoken身份验证apiid
2条回答

从广泛的研究中,我得出的结论是,实现OAuth对于应用程序来说不是一种可行的身份验证方法,因为它很难实现。在花了无数个小时调试Stackoverflow并就一个简单的Twitter oAuth实现提出问题之后,我决定不再使用oAuth了(这让我有把握地推断出大部分开发人员不知道如何使用oAuth)。在

所以我留给你们的是伟大的法国皇帝拿破仑·波拿巴的话

《维多利亚的天堂》拿破仑·波拿巴

这基本上意味着在你前进的时候离开,不要浪费你和OAUTH在一起的时间!在

其他信息

在经历了对OAUTH的挫折之后,我最终对谁提出了这个令人头痛的概念做了一些研究,结果发现创建者已经退出了这个项目,并在他的博客中公开谴责了OAUTH:

有趣的是,这条路被命名为地狱之路。因此,如果创建者没有使用OAUTH,那么您也绝对不应该使用OAUTH。我已经在https://petitions.whitehouse.gov/上发起了一个请愿书,要求非法使用OAUTH,所以如果你愿意,可以加入战斗并给我们投票,它目前正在获得支持,我们感谢任何支持,所以请继续投票。在

enter image description here

该问题是由于为应用程序选择的“Google Apps”身份验证类型造成的。此设置要求使用用户api的所有帐户example.com网站帐户和服务帐户显然不是一个。在

一旦我们将Auth类型更改为Google accounts,那么使用服务帐户和验证客户机_id就没有问题了

相关问题 更多 >

    热门问题