Я хочу удалить токен Firebase на моем сервере Spring, когда пользователь вышел из системы. Это нормально, когда он использует кнопку «Выйти» - я могу обработать ее на сервере и удалить токен Firebase. Но что, если oAuth2
истек срок действия маркеров доступа и обновления? Если у меня есть этот случай, то, я думаю, я могу удалить токен Firebase следующим образом:
- переопределить
RefreshTokenGranter.getAccessToken()
- поймать исключение недопустимого токена из
getTokenServices().refreshAccessToken()
- получить clientId от
ClientDetails
и удалить его токен Firebase
Но как я могу это реализовать? Проблема в том, что я не могу добавить этот пользовательский грантер в AuthServerConfiguration.tokenGranter()
:
//...
granters.add(new RefreshTokenGranter(...));
//...
Если я добавлю его вот так, он не будет вызван, но будет вызван default RefreshTokenGranter
.
Итак, как я могу использовать свой пользовательский RefreshTokenGranter
? И это хорошее решение для такой задачи или, может быть, я должен использовать другой способ перехвата токенов с истекшим сроком?