我正在尝试在应用程序中使用dmfs/oauth2-essentials
作为oauth2。问题是刷新令牌。我能够在AccountManager中存储令牌字符串和刷新令牌字符串。使用userdata包刷新令牌。用户首先使用ResourceOwnerPasswordGrant
登录并接收带有刷新令牌的令牌。
问题是Bundle只接受像存储字符串这样的原始内容。但是dmfs/oauth2-essentials
在使用OAuth2AccessToken
TokenRefreshGrant()
个对象
有没有办法直接使用刷新令牌字符串?我错过了什么吗?
谢谢!
答案 0 :(得分:0)
我不知道你是否已经解决了你的问题,但我会在这里写下我的经验,以防对某人有用。
您可以使用AccountManager在Android中创建帐户。您可以通过在帐户中存储AccessToken来实现,但也许您还没有意识到您可以在帐户中存储多个令牌,只需键入不同的令牌类型即可。这样,只需传递不同的authTokenType字符串,就可以使用peekAuthToken(Account account, String authTokenType)
检索不同的标记。注意不要让用户在getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options)
中的Authenticator之外检索refreshToken,我是通过比较authTokenType字符串来实现的。