1

我正在编写一个旅行行程应用程序引擎应用程序,它将与我的用户的日历进行交互。为了管理对用户日历的访问,我打算使用 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) 存储用户访问令牌和刷新令牌的最佳方式是什么?

4

1 回答 1

3
  1. 它几乎从不改变,因此对其进行硬编码。它只是从示例程序中的文件真正加载,因此您可以在不接触代码的情况下运行示例。
  2. 见 1。
  3. 您可以使用 Google 提供的使用专用类型的 Credential 类。或者,鉴于它们只是字符串,您可以将它们存储为 User 类型的一部分,您的应用程序几乎肯定必须跟踪您的注册用户。

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

于 2013-10-18T07:07:33.207 回答