Google AppEngine ClientId和客户端秘密

时间:2013-10-18 06:53:39

标签: google-app-engine google-oauth

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

1 个答案:

答案 0 :(得分:3)

  1. 它几乎不会改变,所以硬编码。它只是从示例程序中的文件中加载,因此您可以在不触及代码的情况下运行示例。
  2. 见1.
  3. 您可以使用Google提供的Credential类,该类使用专用类型。或者,鉴于它们只是字符串,您可以将它们存储为用户类型的一部分,您的应用程序几乎肯定必须跟踪您的注册用户。
  4. 作为提示,请将您的oauth代码与编写日历代码分开。我首先编写一个授权的应用程序,存储刷新令牌,并刷新访问令牌。您可以使用curl测试访问令牌。一旦完成所有工作,然后将日历功能添加为第2阶段。