В настоящее время я использую поток 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 (параметр запроса) может быть захвачено различными инструментами сетевого анализа.
Есть ли способ сделать это другим способом?