Cognito Userpool Facebook OAuth с Spring Security, есть ли кеш?

Я использую Spring Security 5 с Cognito Userpool.

Я реализовал вход в Facebook через пользовательский пул, используя API пользовательского пула OAuth2. Мне удалось войти в систему, используя мою учетную запись facebook, но как только я удалил пользователя из пользовательского пула (через API удаления пользователя), я не могу снова зарегистрироваться и получаю ошибку invalid_grant.

...
[nio-8090-exec-6] o.s.s.authentication.ProviderManager     : Authentication attempt using org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider
[nio-8090-exec-6] o.s.s.authentication.ProviderManager     : Authentication attempt using org.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeAuthenticationProvider
[nio-8090-exec-6] o.s.web.client.RestTemplate              : HTTP POST https://mydomain.auth.myregion.amazoncognito.com/oauth2/token
[nio-8090-exec-6] o.s.web.client.RestTemplate              : Accept=[application/json, application/*+json]
[nio-8090-exec-6] o.s.web.client.RestTemplate              : Writing [{grant_type=[authorization_code], code=[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx], redirect_uri=[http://localhost:8090/login/oauth2/code/facebook]}] as "application/x-www-form-urlencoded;charset=UTF-8"
[nio-8090-exec-6] o.s.web.client.RestTemplate              : Response 400 BAD_REQUEST
[nio-8090-exec-6] .s.a.DefaultAuthenticationEventPublisher : No event was found for the exception org.springframework.security.oauth2.core.OAuth2AuthenticationException
[nio-8090-exec-6] .s.o.c.w.OAuth2LoginAuthenticationFilter : Authentication request failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_grant] 

org.springframework.security.oauth2.core.OAuth2AuthenticationException: [invalid_grant] 
    at org.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeAuthenticationProvider.authenticate(OidcAuthorizationCodeAuthenticationProvider.java:143) ~[spring-security-oauth2-client-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175) ~[spring-security-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:186) ~[spring-security-oauth2-client-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:160) [spring-security-oauth2-client-5.1.4.RELEASE.jar:5.1.4.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
    ...

Я пытался очистить кеш браузера, но ничего не произошло. Однако мне удалось снова войти в систему примерно через 30 минут, используя тот же исходный код.

Есть какие-то кеши на Cognito Userpool или авторизация Facebook?

приложение.yml

spring:
  security:
    oauth2:
      client:
        registration:
          facebook:
            clientId: xxxxxxxxxxxxxxxx
            clientSecret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            clientAuthenticationMethod: basic
            redirectUriTemplate: '{baseUrl}/login/oauth2/code/{registrationId}'
            authorizationGrantType: authorization_code
            scope:
              - openid
              - email
              - profile
              - aws.cognito.signin.user.admin
            clientName: Facebook
        provider:
          facebook:
            authorizationUri: https://mydomain.auth.myregion.amazoncognito.com/oauth2/authorize?identity_provider=Facebook
            tokenUri: https://mydomain.auth.myregion.amazoncognito.com/oauth2/token
            jwkSetUri: https://cognito-idp.myregion.amazonaws.com/my_userpool_id/.well-known/jwks.json
            userInfoUri: https://mydomain.auth.myregion.amazoncognito.com/oauth2/userInfo
            userNameAttribute: sub

Не могли бы вы решить эту проблему?

Araf 23.05.2019 06:46

Нет, я отложил эту проблему...

koga 24.05.2019 14:44
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
368
0

Другие вопросы по теме