小编egu*_*ara的帖子

Google Cloud端点和服务帐户返回:Oauth框架用户与oauth令牌用户不匹配

我试图使用类似的服务帐户从cmdline访问谷歌云端点

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

根据示例的说明,我创建了一个clientid + pk12证书,并使用它们通过oauth2client.client模块中的SignedJwtAsertionCredential调用创建凭证.

当我在我的本地devserver上调用我的云端点时,按预期工作,但是当我调用已部署的gae云端点时

Oauth框架用户与oauth令牌用户不匹配.

似乎是对来自user_id_token._set_bearer_user_vars()的oauth.get_client_id(范围)调用失败了.

当我在异常上添加回溯时,它看起来来自_maybe_raise_exception

E 2014-01-02 10:30:53.926 raise NotAllowedError(error_detail)E 2014-01-02 10:30:53.926 NotAllowedError

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

我的目标是在没有用户参与的情况下调用云端点,不确定我是否使用SignedJwtAsertionCredential调用是正确的路径,或者如果可能的话?

附加信息.

端点的身份验证类型设置为"Google App Domain"

端点方法上的user_required为True

当我使用https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29时,从SignedJwtAssertCredential生成的访问令牌是预期的 .

端点在api资源管理器中按预期工作,并且当涉及auth流时.

使用endpoints_proto_datastore库.

python google-app-engine oauth google-cloud-endpoints endpoints-proto-datastore

5
推荐指数
1
解决办法
1178
查看次数