Сконфигурируйте безопасность весны с помощью oauth2 / openid для идентификатора сеанса, но также и для маркера доступа - PullRequest
0 голосов
/ 21 апреля 2020

можно ли настроить spring с oauth2 для принятия нескольких возможностей входа в систему?

В настоящее время у меня работает с:

@Override
    protected void configure(HttpSecurity http) throws Exception { // @formatter:off
        http.authorizeRequests(authorizeRequests -> authorizeRequests
                .anyRequest()
                .authenticated())
                .oauth2Login(AbstractAuthenticationFilterConfigurer::permitAll)
                .addFilterAfter(new CustomAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
                .logout(logout -> logout.logoutSuccessHandler(oidcLogoutSuccessHandler()))
                .oauth2ResourceServer().jwt();
    }  // @formatter:on

Если кто-то пытается получить доступ к ресурсу авторизации, он получает перенаправляется на страницу входа провайдера идентификации, входит в систему и затем получает идентификатор сеанса на стороне клиента. Токен доступа и токен refreh хранятся в памяти на стороне сервера.

Но теперь я также хочу использовать токен доступа для доступа к ресурсам.

Но когда я это делаю, безопасность контекст приложения просто нулевой.

Что мне нужно сделать?

Я ищу в do c, но не могу понять, как этого добиться.

I можно было бы просто добавить в application.properties: spring.security.oauth2.resourceserver.jwt.jwk-set-uri

и добавить: .oauth2ResourceServer (). jwt () в мой HttpSecurity, но это не так. делать работу.

1 Ответ

0 голосов
/ 28 апреля 2020

Найден ответ, если при отправке токена Bearer не указан в качестве префикса в заголовке авторизации, он не будет распознан. Вид нормальный, так как это стандарт ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...