Могу ли я избавиться от имени и секрета приложения, если у меня есть аутентификация по имени и паролю в OAuth2 в Spring Security? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть загрузочное приложение Spring, которое использует Spring Security и OAuth2

В моем классе OAuth2Config, который расширяет AuthorizationServerConfigurerAdapter, у меня есть

@Override
public void configure(final ClientDetailsServiceConfigurer clients) throws Exception {
    clients.inMemory()
            .withClient("name")
            .secret(passwordEncoder.encode("password"))
            .scopes("read", "write")
            .authorizedGrantTypes("password", "refresh_token", "client_credentials")
            .accessTokenValiditySeconds(20000)
            .refreshTokenValiditySeconds(20000);

}

, а в моем классе SecurityConfig, который расширяет WebSecurityConfigurerAdapter, который у меня есть

@Override
@Autowired
protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userDetailsService)
            .passwordEncoder(encoder());
}

Это означает, что мне нужно выполнить Basic Auth с «name» и «password», а также отправить данные формы с «someUserInUserDatabase» и «someUserInUserDatabasePassword» в конечную точку / oauth / token в порядкечтобы вернуть токен.

Тем не менее, я хотел бы просто отправить «someUserInUserDatabase» и «someUserInUserDatabasePassword», так как я не вижу преимущества отправки «имени» и «пароля» в логинеФорма, которую использует мое приложение, так как каждый должен будет знать «имя» и «пароль», что универсально для всех пользователей, поэтому не имеет никакой выгоды.

Возможно ли это?

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