【问题标题】:Google AppEngine ClientId and Client SecretsGoogle AppEngine ClientId 和 Client Secrets
【发布时间】:2013-10-18 06:53:39
【问题描述】:

我正在编写一个旅行路线应用程序引擎应用程序,它将与我的用户的日历进行交互。为了管理对我用户日历的访问,我打算使用 OAuth 2.0。我在网上查找了各种代码示例,最接近我想要实现的是 (http://code.google.com/p/google-api-java-client/source/browse/calendar-appengine-sample/src/main/java/com/google/api/services/samples/calendar/appengine/server/?repo=samples)。我有以下问题

1) 我发现服务器需要访问应用程序的客户端 ID 和客户端机密。到目前为止,我看到的大多数示例代码都是从本地文件加载的。 AppEngine 是否提供了一些 API,使我能够检索客户端 ID 和客户端密码,而不必担心存储它?

2) 如果我必须以安全的方式存储客户端密码,我有哪些选择?

3) 存储用户访问令牌和刷新令牌的最佳方式是什么?

【问题讨论】:

    标签: google-app-engine google-oauth


    【解决方案1】:
    1. 它几乎从不改变,所以硬编码吧。它只是从示例程序中的文件真正加载,因此您无需接触代码即可运行示例。
    2. 见 1。
    3. 您可以使用 Google 提供的使用专用种类的 Credential 类。或者,鉴于它们只是字符串,您可以将它们存储为 User 类型的一部分,您的应用几乎肯定必须跟踪您的注册用户。

    作为提示,请将编写 oauth 代码与编写日历代码分开。我将首先编写一个授权、存储刷新令牌并刷新访问令牌的应用程序。您可以使用 curl 测试您的访问令牌。完成所有工作后,将日历功能添加为阶段 2。

    【讨论】:

    • 谢谢 pinoyyid。我有一个后续问题。如果我不想硬编码这个秘密怎么办?我可以将它以安全的方式存放在某个地方吗?
    猜你喜欢
    • 2014-09-17
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2018-01-06
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    相关资源
    最近更新 更多