При использовании нескольких «Клиентов приложения» UserPool, нужно ли мне добавить их всех в «Поставщики аутентификации» IdentityPool? - PullRequest
0 голосов
/ 29 мая 2019

Я пишу веб-приложение, которое использует AWS Cognito UserPools для аутентификации пользователей и IdentityPools для предоставления прямого доступа к корзине S3.

Это веб-приложение JavaScript имеет собственный идентификатор клиента приложения в UserPool, с которым оно взаимодействует с ним.

У меня также есть пара функций Lambda, выполняющих некоторые функции администратора для UserPool и IdentityPool. Эти лямбда-функции имеют свой собственный идентификатор клиента приложения.

Раньше в IdentityPool добавлялся только один поставщик аутентификации с тем же идентификатором клиента приложения, который был установлен лямбда-функциями.

В этой настройке у веб-приложения были проблемы. Мне удалось пройти аутентификацию в UserPool, но когда токен идентификации был отправлен в IdentityPool, я получил сообщение об ошибке «Токен не от поддерживаемого поставщика этого пула идентификации». Я полагаю, это произошло потому, что для параметра aud в JWT был задан идентификатор UserPool, который не был добавлен в IdentityPool

В конце концов я понял, что могу избавиться от ошибки, если добавлю в IdentityPool другого «провайдера аутентификации», указав тот же идентификатор UserPool и другой идентификатор клиента приложения.

Мой вопрос сейчас таков: правильный ли это подход? Возможно, я неправильно понимаю значение и использование идентификатора клиента приложения? Я далеко от базы с моим подходом?

1 Ответ

0 голосов
/ 29 мая 2019

Да, это звучит как очень хороший подход.Если у вас нет проблем с безопасностью или функционированием, это «правильный» подход.

...