Безопасно ли использовать cognitoIdentityId в качестве общедоступного идентификатора пользователя? - PullRequest
0 голосов
/ 23 февраля 2019

Безопасно ли выставлять и использовать $ ctx.identity.cognitoIdentityId в качестве публичного идентификатора пользователя?Разоблачение cognitoIdentityId вызывает утечку из-за информации о регионе.

Я использую AWS Identity and Access Management (IAM) в качестве типа авторизации.

Я не уверен, что это актуально, но мой пул удостоверений допускает неаутентифицированные идентификаторы.

Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

Идентификационный идентификатор Cognito гарантированно будет уникальным в регионе, в котором он существует, однако есть один случай, в котором он может измениться: идентичность сливается.

Скажем, вы вошли в Facebook, чтобы использовать свойприложение на вашем телефоне, но используйте Cognito User Pool на планшете.Если вы хотите связать эти учетные записи в какой-то момент, вам нужно будет войти в систему с обоими токенами для входа один раз, после чего будет достаточно предоставить любой из них.Во время этого единственного входа в систему, однако, слияние идентичности будет начато.Результатом этого слияния будет один отключенный идентификатор и один активный идентификатор, которому принадлежат оба токена.Cognito обрабатывает этот процесс совершенно случайно - это может быть либо отключение.

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

Что касается утечки самого идентификатора, это справедливая проблема.В дополнение к тому, что это просто смешно с префиксом региона, который не понимает разработчик не из AWS, у него могут быть некоторые риски безопасности (в зависимости от разрешений, которые вы связали с этим типом пользователя).Я мог бы порекомендовать какой-нибудь хеш или кодировку, чтобы немного его запутать.

...