簡體   English   中英

Android AccountManager和使用刷新令牌的dmfs / oauth2-essentials

[英]Android AccountManager and dmfs/oauth2-essentials using refresh token

我正在嘗試在應用程序dmfs/oauth2-essentials用於oauth2。 問題是刷新令牌。 我能夠在AccountManager中存儲令牌字符串並刷新令牌字符串。 使用userdata包刷新令牌。 用戶首先使用ResourceOwnerPasswordGrant登錄,並接收帶有刷新令牌的令牌。

問題在於Bundle僅接受原始的東西(例如字符串)進行存儲。 但是,在使用TokenRefreshGrant()時, dmfs/oauth2-essentials需要OAuth2AccessToken對象。

有沒有一種方法可以直接使用刷新令牌字符串? 我錯過了什么嗎?

謝謝!

我不知道您是否已解決問題,但我會在這里寫下我的經驗,以備不時之需。

您可以使用AccountManager在android中創建一個帳戶。 您將AccessToken存儲在帳戶中是正確的,但是也許您還沒有意識到僅通過鍵入不同的令牌類型就可以在一個帳戶中存儲多個令牌 這樣,僅通過傳遞不同的authTokenType字符串,即可使用peekAuthToken(Account account, String authTokenType)檢索不同的令牌。 請小心,不要讓用戶在getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options)的Authenticator外部檢索refreshToken,這是通過比較authTokenType字符串來實現的。

暫無
暫無

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

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