GAE - 存储多个OAuth访问令牌
对于我正在开发的项目,我需要存储用户访问令牌(以及我认为的认证代码和刷新令牌)。 我正在使用GAE,因此我很难设计模型,这很简单。我对NoSQL没有经验,因此GAE数据存储很麻烦。GAE - 存储多个OAuth访问令牌
下面是该项目
Android Mobile --- Python Server --- GAE Python Server
|_______________________________________|
用户将经由使用他们的谷歌帐户和OAuth的GAE服务器的Android应用程序注册的全球架构。然后我想我应该创建一个用户对象,通过GAE检索user_id。
之后我希望用户启用我的应用程序以访问某些云存储服务(Drive,Box,Dropbox,...)。 一旦他这样做,我将有三个相对于此服务和用户的令牌,我需要以某种方式存储它们。
相对于GAE数据存储中的单个用户,存储多个服务的Oauth凭证的最佳方式是什么?
从我已阅读的内容中,我可以使用Expando类并通过服务向用户实体添加服务,或者做一个单独的实体并使用用户实体中的参考和列表来存储它们... 最相关信息片GAE Credential Storage。但我怎么能用这个多服务,因此凭据?
谢谢大家的帮助
----编辑------------------------------
看来我没有很好的关键词来研究这个问题。 后几个小时: GAE - Google Developer - Modeling Entity Relationships
class User(db.Model):
name = db.StringProperty()
class ServiceOAuthAccess(db.Model):
user = db.ReferenceProperty(User)
service_name = db.StringProperty(choices=('Dropbox', 'Box', 'Drive'))
....
不过,我仍然留下了quetion:
我可以将使用com.google.api.client.auth.oauth2.Credential
任何服务的OAuth令牌? 还是Google专用?我也不会使用AppEngineCredentialStore
。如果我这样做会更好吗?无论如何,我可以使用这个?
看来我没有很好的关键词来研究这个问题。几小时后:GAE - Google Developer - Modeling Entity Relationships
class User(db.Model):
name = db.StringProperty()
class ServiceOAuthAccess(db.Model):
user = db.ReferenceProperty(User)
service_name = db.StringProperty(choices=('Dropbox', 'Box', 'Drive'))
....