Обновить токен доступа 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();

Проблема в том, что если срок действия токена истек, я не могу просто предоставить токен обновления. Мне нужно сначала получить новый токен. Есть ли способ сделать это? Есть ли способ, при котором я могу просто предоставить оба токена, а обновление будет выполняться автоматически?

Я не мог найти ничего полезного до сих пор.

0 ответов

Другие вопросы по тегам