Проблемы безопасности Spring OAuth2 - PullRequest
0 голосов
/ 21 марта 2020

В настоящее время я использую поток Authorization_Code типа OAuth2 для единого входа (SSO) на моем веб-сайте.

Вот мой код, который это позволяет.

  @Override
  protected void configure(final HttpSecurity http) throws Exception {
    // @formatter:off
    http.authorizeRequests()
        .antMatchers("/login", "/authorize", "/error")
        .permitAll()
        .anyRequest()
        .authenticated()
        .and().formLogin().loginPage("https://sso.mywebsite.com").loginProcessingUrl("/perform_login")
        .defaultSuccessUrl("/success",true)
        .failureUrl("/error").permitAll()
        .and()
        .csrf()
        .disable();
    // @formatter:on
  }

Моя проблема описано ниже.

Чтобы сделать запрос на вход в систему (с именем пользователя и паролем), sso.mywebsite.com должен сделать запрос POST к моей службе oAuth - http://oauth/perform_login?username=USERNAME&password=PASSWORD.

Я попробовал это с Почтальоном, и это работает. Однако не является ли это проблемой безопасности при отправке простого имени пользователя и пароля, как указано выше в параметре запроса? Я думал, что предоставление учетных данных пользователя в URI (параметр запроса) может быть захвачено различными инструментами сетевого анализа.

Есть ли способ сделать это другим способом?

1 Ответ

0 голосов
/ 21 марта 2020
  1. Пока вы используете HTTPS, параметры вашего запроса будут защищены.
  2. Мне неясно, почему ваш сайт единого входа должен сделать POST для этого URL (а также, почему вместо того, чтобы иметь тело POST, добавьте параметры через URL). Разве это не «перенаправление» на страницу входа / сервер авторизации или код выше с вашего сервера авторизации? Это было немного неясно из вашего описания.
...