Как проверить, есть ли у пользователя выход из Google / Facebook / GitHub et c - OAuth2 - PullRequest
0 голосов
/ 18 марта 2020

Я только что закончил свой первый проект OAuth2.0! Простой вход с Facebook. Когда я захочу получить доступ, я перейду на страницу входа в Facebook. Я вхожу в систему, и тогда я снова вернусь Отлично!

Теперь я хочу сказать Spring Boot, что Spring Security нужно проверять каждого пользователя. Потому что, если выйти из Facebook, то я все равно могу получить доступ к странице. Как будто секретный ключ все еще там, что позволяет мне передать.

Я хочу, чтобы Spring Security провела быструю проверку «Правильный пользователь? Вы вышли из системы?».

Возможно ли это?

У меня есть моя конфигурация безопасности здесь:

@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(HttpSecurity http) throws Exception {

        http
        .csrf().disable()
        .authorizeRequests()
        .antMatchers("/Intranet/Bokning").authenticated()
        .antMatchers("/**", "/Intranet**").permitAll()
        .anyRequest().authenticated()
        .and().logout().logoutSuccessUrl("/").permitAll()
        .and()
        .oauth2Login();
    }
}

1 Ответ

1 голос
/ 18 марта 2020

Это невозможно или, по крайней мере, я не знаю, как платформы, такие как Facebook / Google / GitHub, делят статус входа пользователя на своей платформе.

Обычно эти провайдеры используются для аутентификации пользователя. а затем установите cook ie (JSESSIONID по умолчанию), который является токеном для деталей аутентификации для вашего приложения Spring и не привязан к сеансу, который вы могли иметь на платформе, с которой вы входили в систему.

Существует большое Spring Boot Tutorial , которое объясняет, как Social Login работает с OAuth2

...