2017-07-30 112 views
0

因此,我正在實施谷歌驅動器到我正在建設的應用程序。該應用程序將在客戶機上運行。用戶驗證後,我將刷新和訪問令牌存儲在Google憑據中。但是,爲了防止用戶每次進入應用時都需要進行身份驗證,我計劃將訪問令牌和刷新令牌存儲在加密文件中。如何知道谷歌證書何時使用刷新令牌

我的問題是

我怎麼能把一個監聽器,谷歌憑據運行的每個令牌被更新,所以我可以更新加密文件的標記時間。

我真的不想有一個單獨的線程,只是檢查證書是否已經改變,但如果這是最簡單的方式,我可以這樣做。

謝謝。

回答

0

看一看下面的文檔頁面上的數據存儲:Using OAuth 2.0 with the Google API Client Library for Java - Data store

大多數應用程序將需要堅持憑證的訪問令牌和/或刷新令牌。要堅持證書的訪問和/或刷新標記,您可以使用StoredCredential提供您自己的DataStoreFactory和DataStore實現;或者您可以使用該庫提供了以下實現之一:

  • JdoDataStoreFactory:持續使用JDO的憑據。
  • AppEngineDataStoreFactory:使用Google App Engine數據存儲API持久保存憑證。
  • MemoryDataStoreFactory:將內存中的憑證「持久化」,它僅在進程的整個生命週期內用作短期存儲。
  • FileDataStoreFactory:將憑證保存在文件中。

...

您可以使用DataStoreCredentialRefreshListener並將其設置爲使用GoogleCredential.Builder.addRefreshListener(CredentialRefreshListener)的憑據。

使用FileDataStoreFactory將令牌存儲到文件中可能會爲您解決問題。

它會將令牌存儲到一個文件並在它們發生更改時保存令牌。

相關問題