Аутентификация стороннего приложения с помощью Spring Authorization Server
Я создаю собственное мобильное приложение, которое проходит аутентификацию через внутренний сервер Spring Boot (действующий как аутентификация и сервер ресурсов). Я планировал использовать Spring Authorization Server для обработки входа в мобильное приложение с помощью имени пользователя/пароля, а также других поставщиков OAuth (например, Войти через Google).
У меня был аналогичный вариант использования в другом проекте, и я использовал Spring Security OAuth сclient_credentials
иpassword
типы предоставления для аутентификации через имя пользователя/пароль.
При рассмотрении этой матрицы функций выясняется, что Spring Authorization Server не будет поддерживать тип предоставления пароля .
Подтверждено здесь несколькими запутанными реакциями на смайлики , и я тоже в замешательстве :)
Тип предоставления пароля владельца ресурса кажется допустимым вариантом использования для собственных мобильных приложений . Каков рекомендуемый способ аутентификации сторонних мобильных приложений с помощью Spring Authorization Server?
Еслиauthorization_code
вместо этого следует использовать грант в соответствии со спецификацией OAuth 2.1, как мне отправить имя пользователя/пароль из собственного мобильного приложения вместо использования формы входа в систему, предоставленной сервером авторизации Spring?
@Bean
SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authorize ->
authorize.anyRequest().authenticated()
)
.formLogin(withDefaults());
return http.build();
}