Получение токена доступа Oauth2.0 программно (без использования application.yaml) в весеннем приложении - PullRequest
0 голосов
/ 09 мая 2018

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

Application.yaml

security:
  basic:
    enabled: false
  oauth2:
    client:
    clientId: MYID
    clientSecret: MYSECRET
    accessTokenUri: ${env.oauth.oauth-url}/token
    userAuthorizationUri: ${env.oauth.oauth-url}/authorize? 
              login_hint=${env.tenant} 
    use-current-uri: false
    pre-established-redirect-uri: http://localhost:8080/app1/login

MyConfigurer.java

@Configuration
@EnableOAuth2Sso
public class MYConfigurer
    extends WebSecurityConfigurerAdapter{

@Override
public void configure(HttpSecurity http) throws Exception {

        http.authorizeRequests().anyRequest().authenticated();

}

С этим кодом для каждого http-запроса он проходит аутентификацию, читая конфигурацию oauth2 из application.yaml. Если я сделаю запрос к конечной точке этого приложения из браузера, он перенаправит меня на страницу, где он запрашивает идентификатор электронной почты и пароль. Затем проверка подлинности учетных данных и возврат к приложению с токеном доступа.

Мое требование состоит в том, чтобы эта аутентификация происходила программно из кода Java, а не через браузер, где при перенаправлении я вводил адрес электронной почты и пароль в HTML-форме. Каким-то образом я хочу вызвать эти userAuthorizationUri и accessTokenUri, используя шаблон отдыха, передав мои данные и получив токен доступа.

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