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