Интеграция приложения Spring Boot (swagger-ui) с AWS Cognito для аутентификации. Выполнены следующие шаги: Создан cognito userpool, добавлены настройки клиента и клиента, мало пользователей. В приложение Springbot добавлена зависимость безопасности Springboot oauth2 от клиента и стартового сервера Springboot. application.properties
содержит следующие атрибуты:
#Cognito-Authentication
app.url=https://localhost:8086/swagger-ui.html
#app.url=https://localhost:8086
cognito.rooturl=https://<pool_domain_name>.auth.ap-south-1.amazoncognito.com
spring.security.oauth2.client.registration.cognito.provider=cognito
spring.security.oauth2.client.registration.cognito.client-id=<client-id>
spring.security.oauth2.client.registration.cognito.client-secret=<secret>
spring.security.oauth2.client.registration.cognito.client-name=<client-name>
spring.security.oauth2.client.registration.cognito.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.cognito.scope=email,openid
#spring.security.oauth2.client.registration.cognito.redirect-uri-template=${app.url}/login/oauth2/code/cognito
spring.security.oauth2.client.registration.cognito.redirect-uri=${app.url}
spring.security.oauth2.client.provider.cognito.authorizationUri=${cognito.rooturl}/oauth2/authorize
spring.security.oauth2.client.provider.cognito.tokenUri=${cognito.rooturl}/oauth2/token
spring.security.oauth2.client.provider.cognito.jwkSetUri=https://cognito-idp:ap-south-1.amazoncognito.com/ap-south-1_C1ehw2T8u/.well-known/jwks.json
spring.security.oauth2.client.provider.cognito.user-info-uri=${cognito.rooturl}/oauth2/userInfo
spring.security.oauth2.client.provider.cognito.userNameAttribute=username
spring.security.oauth2.client.provider.cognito.user-info-authentication-method=header
Наконец, переопределенный метод конфигурации в классе конфигурации безопасности, как показано ниже:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/**").authenticated()
.and()
.oauth2Login()
.redirectionEndpoint().baseUri("https://localhost:8086/appname/service/swagger-ui.html");
}
После запуска приложения, когда я нажимаю на URL-адрес чванства, я получить эту ошибку перенаправления:
https://<pool-domain>.auth.ap-south-1.amazoncognito.com/error?response_type=code&client_id=<client-id>&scope=email%20openid&state=Y-u57nuR_RiIEtvGDJ3isdel73bPfZcFoHq9k7Hfq6o%3D&redirect_uri=https://localhost:8086/appname/service/swagger-ui.html
No identity providers configured for this app client.
Я что-то упустил на стороне приложения или на стороне клиента?