Как добавить возможности сервера ресурсов в сервер авторизации в Spring Boot OAuth2? - PullRequest
0 голосов
/ 24 сентября 2018

Я создал сервер авторизации OAuth2, настроенный следующим образом:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    ...
}

Я также создал сервер ресурсов, который работает как отдельное приложение.

Я хотел быполучить информацию о пользователе на сервере ресурсов с сервера авторизации.Я использую токены JWT и могу добавить в него детали аутентификации.Однако я хотел бы получить конфиденциальную информацию о пользователях.Итак, я хочу добавить возможность сервера ресурсов в мой сервер аутентификации.

Я создал:

 @Configuration
 @EnableResourceServer
 public class OAuth2ResourceServerConfig extends 
 ResourceServerConfigurerAdapter {
     ...
 }

Я создал контроллер как:

 @GetMapping("/user")
 public Map<String, String> user(Principal principal) {
     if (principal != null) {
         OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) principal;
         Authentication authentication = oAuth2Authentication.getUserAuthentication();
         return (Map<String, String>) authentication.getDetails();
     }
     return null;
 }

Всякий раз, когда я хочу изменить разрешения ресурса в конфигурации ресурса:

@Override
public void configure(HttpSecurity httpSecurity) throws Exception {
    ...
}

это не работает.Только WebSecurityConfig распознается.Я пытался изменить @Order, но не сработало.WebSecurityConfig выдает ошибку при таком сопоставлении муравьев:

.antMatchers("/user").access("#oauth2.hasScope('read')")

Я добавил расширение GlobalMethodSecurityConfiguration, но ничего не решил.

1) Правильно ли архитектурно корректно информация пользователя на сервере вСервер авторизации?

2) Есть ли в моем случае вариант использования security.oauth2.resource.user-info-uri?

3) Как добавить возможность сервера ресурсов в мой сервер авторизации?

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