Запуск микросервисов JHipster с помощью Amazon Cognito - PullRequest
0 голосов
/ 04 марта 2020

Я следовал следующему руководству по настройке сгенерированного JHipster шлюза с Amazon Cognito: https://blog.ippon.tech/aws-cognito-and-jhipster-for-the-love-of-oauth-2-0/

У меня шлюз работает отлично, и я могу войти в администратор модуль с использованием Cognito, однако я не могу вызвать ни одного из микросервисов. Любая попытка встречается со следующей ошибкой:

java .lang.NullPointerException: null at com.test.security.oauth2.AudienceValidator.validate (AudienceValidator. java: 26) в com .test.security.oauth2.AudienceValidator.validate (AudienceValidator. java: 13) в org.springframework.security.oauth2.core.DelegatingOAuth2TokenValidator.validate (DelegatingOAuth2TokenValidator. * 1022g. (. NimbusJwtDecoder java: 165) .jwt.NimbusJwtDecoder.validateJwt на org.springframework.security.oauth2.jwt.NimbusJwtDecoder.decode (NimbusJwtDecoder java:. 126) в org.springframework.security.oauth2.server.resource .authentication.JwtAuthenticationProvider.authenticate (

Отладка показывает, что переменная аудитории равна нулю в следующем коде:

public OAuth2TokenValidatorResult validate(Jwt jwt) {
    List<String> audience = jwt.getAudience();
    if (audience.stream().anyMatch(allowedAudience::contains)) {
        return OAuth2TokenValidatorResult.success();
    } else {
        log.warn("Invalid audience: {}", audience);
        return OAuth2TokenValidatorResult.failure(error);
    }
}

Я настроил приложение микросервиса. xml с помощью следующее:

  security:
    oauth2:
      client:
        provider:
          oidc:
            issuer-uri: https://cognito-idp.us-east-1.amazonaws.com/[secret]
        registration:
          oidc:
            client-id: [secret]
            client-secret: [secret]

Кто-нибудь смог успешно запустить сгенерированную jHipster платформу микросервисов с Amazon Cognito? Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 04 марта 2020

AWS Cognito не включает аудиторию в токен доступа, поэтому необходимо обновить методы validate.

Более подробную информацию можно найти здесь: https://github.com/Falydoor/cognito-jhipster/issues/1#issuecomment -594753033

...