Извлечь «Атрибуты пользователя» из AWS Cognito с использованием authentication.getPrincipal () - PullRequest
0 голосов
/ 20 июня 2019

Я интегрирую Spring-Boot / Security с AWS Cognito.Пользователь успешно входит в систему, и aws cognito отправляет имя пользователя, полномочия и пользовательские атрибуты в мое весеннее приложение. Проблема в том, что я не могу получить или отобразить возвращенные данные в класс / объект java, используя jackson-databind json или yaml.Мне нужно извлечь электронную почту пользователя из возвращенных данных. Вот пример данных, которые Cognito отправляет в мое приложение.

Имя: [aaXXXXX-38af-XXXX-XXXX-b5497XXXXX78], Предоставленные полномочия: [ROLE_USER], ПользовательАтрибуты: [at_hash = Hfqq0tGXXXXXXXXGlRQ, sub = XXXXXX-38af-XXXX-ba30-b549XXXXX278, Aud = [5XXXXXoXXXXXXX948kXXXXi], email__verified = = = 100 * **east-1.amazonaws.com/us-east-1_xOXUWQCE3, cognito: имя пользователя = aaXXXXX-38af-XXXX-XXXX-b5497XXXXX78, exp = 2019-06-20T10: 50: 00Z, iat = 2019-06-20T09: 50: 00Z, email=rohitksethi@gmail.com, имя пользователя = aaXXXXX-38af-XXXX-XXXX-b5497XXXXX78]

Пробные json-bind yml и json, но оба не в состоянии проанализировать возвращенные данные

Аутентификация аутентификации = SecurityContextHolder.getContext (). GetAuthentication ();

    ObjectMapper oMapper = new ObjectMapper(new YAMLFactory());
    oMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    CustomUserDetail user = oMapper.readValue(authentication.getPrincipal().toString(), CustomUserDetail.class);

Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500).при синтаксическом анализе отображения блока в «считывателе», строка 1, столбец 1: Имя: [aa90e2b6-xxxxx-xxxx-ba30-b ... ^ ожидается, но найдено «,» в «считывателе», строка 1, столбец 45:... 2b6-xxxxf-xxxx-ba30-bxxxxxx278], Предоставленные полномочия: [ROLE_USE ... ^ at [Источник: (StringReader);строка: 1, столбец: 45] com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException: при анализе сопоставления блоков в «читателе», строка 1, столбец 1: Имя: [aa90e2b6-38af-43d6-ba30-b ... ^ ожидается, но найдено ',' в 'reader', строка 1, столбец 45: ... 2b6-xxxx-xxxx-ba30-bxxxxxxx78], Предоставленные полномочия: [ROLE_USE ...

...