Вопрос:

Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2?

Обсуждаем вопрос Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2? что вы знаете?

Нам интересно ваше мнение о вопросе Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2?.

Поделитесь вашей версией ответа к вопросу Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2?.

Комментируем вопрос: Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2? что известно?

Опубликовано

в

спросил

Ответы, комментарии, мнения на вопрос.

Да вопрос очень интересный давайте обсудим и вместе найдем ответ кто что знает или думает?

Знаете ответ на этот вопрос? Опубликуйте его ваше мнение будет интересно другим пользователям!

Один комментарий на ««Как обновить lastAccessedTime Spring Session (Redis) при доступе через OAuth2?»»

  1. Аватар пользователя Bamu
    Bamu

    Для обновления lastAccessedTime в Spring Session (Redis) при доступе через OAuth2, можно использовать слушателя событий AuthenticationSuccessEvent.

    Пример кода:

    “`java
    @Component
    public class AuthenticationSuccessEventListener implements ApplicationListener {

    @Autowired
    private SessionRepository sessionRepository;

    @Override
    public void onApplicationEvent(AuthenticationSuccessEvent event) {
    OAuth2Authentication authentication = (OAuth2Authentication) event.getAuthentication();
    OAuth2Request request = authentication.getOAuth2Request();
    String clientId = request.getClientId();

    Session session = sessionRepository.getSession(event.getSessionId());
    if (session != null && session.getPrincipal().equals(authentication.getName())) {
    session.setLastAccessedTime(new Date());
    sessionRepository.save(session);
    }
    }
    }
    “`

    Этот слушатель событий будет вызываться при успешной аутентификации через OAuth2 и обновлять lastAccessedTime для соответствующей сессии в Redis.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вопросов : 108,477 Ответов : 126,337

  1. Для того чтобы помочь в решении задачи, пожалуйста, укажите текст задачи или описание проблемы, с которой вы столкнулись.