簡體   English   中英

GAE-存儲多個OAuth訪問令牌

[英]GAE - Storing multiple OAuth access token

對於我正在從事的項目,我需要存儲用戶訪問令牌(以及我認為的身份驗證代碼和刷新令牌)。 我正在為此使用GAE,但是我很難設計模型,這很簡單。 我沒有使用NoSQL的經驗,所以GAE數據存儲很麻煩。

這是項目的全球架構

Android Mobile --- Python Server --- GAE Python Server
   |_______________________________________|

用戶將使用其Google帳戶和OAuth通過GAE服務器通過android應用程序進行注冊。 然后,我認為我應該使用通過GAE檢索到的user_id創建一個用戶對象。

之后,我希望用戶啟用我的應用程序以訪問某些雲存儲服務(驅動器,Box,Dropbox等)。 一旦他這樣做,我將獲得與該服務和用戶相關的三個令牌,我需要以某種方式存儲它們。

在GAE數據存儲區中,相對於單個用戶,為多個服務存儲Oauth憑據的最佳方法是什么?

從我所讀的內容中,我可以使用Expando類並將服務逐個服務添加到用戶實體,或者執行單獨的實體並使用“引用”和“用戶實體中的列表”將它們存儲,...最相關的信息GAE憑證儲存 但是,如何將其用於多種服務以及憑證?

我感謝大家的幫助

- - 編輯 - - - - - - - - - - - - - - -

似乎我沒有很好的關鍵詞來進行這個主題的研究。 再過幾個小時: GAE-Google Developer-實體關系建模

class User(db.Model):
  name = db.StringProperty()

class ServiceOAuthAccess(db.Model):
  user = db.ReferenceProperty(User)
  service_name = db.StringProperty(choices=('Dropbox', 'Box', 'Drive'))
  ....

但是,我還有一個疑問:

我可以使用com.google.api.client.auth.oauth2.Credential存儲任何服務的OAuth令牌嗎? 還是特定於Google?

同樣使用這個,我不會使用AppEngineCredentialStore 如果這樣做會更好嗎? 反正我可以用這個嗎?

似乎我沒有很好的關鍵詞來進行這個主題的研究。 再過幾個小時: GAE-Google Developer-實體關系建模

class User(db.Model):
  name = db.StringProperty()

class ServiceOAuthAccess(db.Model):
  user = db.ReferenceProperty(User)
  service_name = db.StringProperty(choices=('Dropbox', 'Box', 'Drive'))
  ....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM