Как передать OAuth2Authentication в контроллер покоя - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь получить токен с помощью контроллера rest и AuthorizationServerTokenServices.

Я хочу отправить мою аутентификацию OAuth2 через мое тело:

это мой запрос:

POST /external/oauth/token HTTP/1.1
Host: localhost:9000
Authorization: Basic Y2xpZW5012345678901234==
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: ebec711e-dc8f-4abc-ab54cd-61ec1234567

username=x&password=x&grant_type=x&scope=read write
  • имя пользователя = x & пароль = x & grant_type = x & scope = чтение и запись это необработанный текст

и это контроллер:

 @RequestMapping(value = {"/external/oauth/token","/external/oauth/token"}, method=RequestMethod.POST ,consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE,MediaType.ALL_VALUE},
                produces = {MediaType.APPLICATION_ATOM_XML_VALUE, MediaType.APPLICATION_JSON_VALUE,MediaType.ALL_VALUE})
        public OAuth2AccessToken getAccessToken( OAuth2Authentication temp) {
           ///not important 
        }

Когда я пытаюсь запустить эту конечную точку, я получаю нулевое значение на проходящем объекте (= temp)

Я присоединяю свой http:

        @Override
        public void configure(HttpSecurity http) throws Exception {
            http
                    .userDetailsService(userDetailsService)
                    .authorizeRequests()
                    .antMatchers(
                            "/**/users/**"
                            , "/**/groups/**"
                    )
                    .authenticated()
                    .and()
                    .authorizeRequests()
                    .anyRequest().permitAll();
        }

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