Ошибка перенаправления при настройке приложения Spring Boot с AWS Cognito userpool - PullRequest
0 голосов
/ 13 января 2020

Интеграция приложения 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.

Я что-то упустил на стороне приложения или на стороне клиента?

...