【问题标题】:App Engine OAuth provider CORSApp Engine OAuth 提供程序 CORS
【发布时间】:2013-02-12 02:12:43
【问题描述】:

我设置了一个小型 App Engine 网络应用程序,它为特定任务提供 API。我的目标是使用静态 Web 前端和几个本机客户端应用程序连接到此。对于身份验证,我使用内置的 OAuth 提供程序。

已使用Google APIs Console 创建客户端的消费者令牌。

用于 API 测试的 ruby​​ 脚本成功地进行了身份验证,并且能够从受 OAuth 保护的 API url 请求数据。

但是,尝试使用来自不同主机的 javascript 访问 /_ah/OAuthGetRequestToken 会导致 CORS 安全异常:

Access-Control-Allow-Origin 不允许Origin http://exampledomain.nl

托管 html/javascript 的域已在 API 控制台中使用者的 JavaScript origins 字段中指定。我已经验证它与 CORS 错误所抱怨的域完全匹配。

  • App Engine OAuth 是否忽略了 JavaScript origins 或者我在这里遗漏了什么?
  • 或者是否可以通过其他方式向应用引擎 OAuth 验证(静态)客户端 JavaScript 应用程序?

【问题讨论】:

    标签: javascript google-app-engine oauth cors


    【解决方案1】:

    您的用例似乎很适合Google Cloud Endpoints。直接与 Endpoints 一起使用的 Google API 客户端库将为您的应用程序处理铸造令牌的详细信息。 Endpoints 本身也支持 CORS。

    【讨论】:

    • 我发现这有几个问题: 1. 我已经请求访问,但已经有几周没有收到任何回复。 2. 该应用程序目前是用 Go 编写的,我认为端点还不支持?如果这是使用 oauth2 的唯一方法,我会考虑用 python 重写。
    • Endpoints TT 正在开放注册中。加入该页面上链接的论坛以访问文档,没有任何其他要求。您是正确的,目前不支持 Go。除非您对 Java 或 Python 满意,否则 Endpoints 目前非常适合。
    • 啊,我依稀记得使用谷歌文档表单请求访问,但似乎再也找不到了。感谢您对开放注册的澄清。我可能会开始部署 python 版本来试验 oauth2。
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 2011-02-01
    • 1970-01-01
    相关资源
    最近更新 更多