Обновить токен доступа Azure AD
Я работаю над веб-приложением, в котором пользователи могут войти в систему с помощью своего личного Microsoft. После входа в систему я сохраняю токен доступа и токен обновления, чтобы позже получить некоторые данные из их учетной записи Microsoft.
Пока токен доступа действителен, все работает.
final TokenCredential tokenCredential = request -> {
final OffsetDateTime offset = OffsetDateTime.ofInstant(account.getTokenExpiry().toInstant(), ZoneId.systemDefault());
final AccessToken token = new AccessToken(account.getAccessToken(), offset);
return Mono.create(sink -> sink.success(token));
};
final TokenCredentialAuthProvider tokenCredentialAuthProvider =
new TokenCredentialAuthProvider(tokenCredential);
this.graphServiceClient =
GraphServiceClient
.builder()
.authenticationProvider(tokenCredentialAuthProvider)
.buildClient();
Проблема в том, что если срок действия токена истек, я не могу просто предоставить токен обновления. Мне нужно сначала получить новый токен. Есть ли способ сделать это? Есть ли способ, при котором я могу просто предоставить оба токена, а обновление будет выполняться автоматически?
Я не мог найти ничего полезного до сих пор.