Как вернуть группы AD из ответа AWS Cognito? - PullRequest
0 голосов
/ 05 августа 2020

Я использую стороннего поставщика PingIdentity, который связан с моими корпоративными группами AD. PingIdentity был настроен для отправки групп AD, связанных с пользователем, который входит в систему. На стороне AWS я использую Cognito UserPools и добавил PingIdentity в качестве поставщика oauth.

Все работает нормально с точки зрения аутентификации, где проблема - я пытаюсь получить соответствующие группы AD, но когда я нажимаю конечную точку Cognito для:

/ oauth2 / token oauth2 / userInfo

Я не вижу ни одной из групп AD, которые отправляются обратно PingIndentity. Также я проверил id_token для пользователя, и он не включен в токен JWT, когда я его анализирую.

Cognito, похоже, выполняет аутентификацию на своем конце, а затем генерирует собственный токен JWT и ответ userinfo каждый- когда я вызываю конечную точку.

Есть ли способ передать группы AD при использовании Cognito?

1 Ответ

0 голосов
/ 06 августа 2020

Я не думаю, что это возможно с Cognito, который также не поддерживает настраиваемые утверждения в токенах доступа.

Один из вариантов - действовать следующим образом, и вот как я бы решил вашу проблему:

  • Разработайте небольшую пользовательскую службу, которая может возвращать группы AD с учетом идентификатора пользователя или адреса электронной почты
  • Интегрируйте вызов пользовательской службы в проверку вашего API-токена
  • Результаты кеширования для последующие вызовы с тем же токеном

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

" Сообщение в блоге о кешировании претензий

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

...