Android AccountManager и dmfs/oauth2-essentials с использованием токена обновления
Я пытаюсь использовать dmfs/oauth2-essentials
для oauth2 в приложении. Проблема в токене обновления. Я могу сохранить строку токена и обновить строку токена в AccountManager. Обновите токен, используя пакет пользовательских данных. Пользователь первый логин с ResourceOwnerPasswordGrant
и получает токен с токеном обновления.
Проблема в том, что Bundle принимает только примитивные вещи, такие как строки для хранения. Но dmfs/oauth2-essentials
требовать OAuth2AccessToken
объект при использовании TokenRefreshGrant()
Есть ли способ использовать строку токена обновления напрямую? я что-то пропустил?
Спасибо!
1 ответ
Я не знаю, решили ли вы свою проблему, но я напишу здесь свой опыт на случай, если он кому-нибудь пригодится.
Вы можете создать учетную запись в Android с помощью AccountManager. Вы правы, сохранив AccessToken в учетной записи, но, возможно, вы еще не поняли, что можете хранить несколько токенов в учетной записи, просто набрав другой тип токена. Таким образом, вы можете получить разные токены, используя peekAuthToken(Account account, String authTokenType)
просто передавая другую строку authTokenType. Будьте осторожны, не позволяя пользователю получить refreshToken вне вашего Authenticator в getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options)
Я делаю это, сравнивая строку authTokenType.