egu*_*ara 5 python google-app-engine oauth google-cloud-endpoints endpoints-proto-datastore
我试图使用类似的服务帐户从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库.
Edu*_*nis 10
通过广泛的研究,我得出的结论是,实施OAuth对于应用程序来说不是一种可行的身份验证方法,因为它实现起来非常糟糕.花了无数个小时调试并在Stackoverflow上询问有关简单的Twitter oAuth实现的问题,同时收到无数错误的答案(这可以让我推断出大部分开发人员不知道如何使用OAuth)我决定永远不再使用OAUTH.
所以我告诉你伟大的法国皇帝拿破仑波拿巴的话
"Una retirada a tiempo es una victoria" -Napoleon Bonaparte
这基本上意味着在你前进的时候离开,不要浪费你的OAUTH时间!
附加信息
在体验我对OAUTH的挫败感的同时,我最终做了一些关于谁真正想出这个头痛诱导概念的研究,结果发现创建者退出了这个项目并且实际上在他的博客中公开谴责OAUTH:
http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/有趣地将这条道路命名为地狱之路.因此,如果创建者没有使用OAUTH,那么你绝对不应该.我已经开始在https://petitions.whitehouse.gov/上提出申请,要求使用OAUTH非法,所以如果你愿意,你可以加入战斗并给我们投票,它目前正在获得牵引力,我们感谢任何支持,所以继续进行投票.

| 归档时间: |
|
| 查看次数: |
1178 次 |
| 最近记录: |