Какие недостатки сопоставления по электронной почте при входе в SSO (например, Google, Facebook, Apple, Microsoft)?

Вопрос или проблема

Контекст

Я читал где-то, что не следует использовать email (например, email, указанный в токене Google JWT) для совпадения при использовании SSO (например, OpenID Connect), но мне неясно, почему.

Рекомендуемый подход, по-видимому, заключается в использовании утверждений aud и sub или других аналогичных комбинаций, но у этого есть очевидные недостатки: например, если пользователь вошел через Google, а затем через несколько месяцев, не помня, какого провайдера SSO он использовал, входит через Facebook с тем же email, то будет создана новая учетная запись; если бы мы сопоставляли по адресу электронной почты, то две учетные записи были бы эффективно связаны.

Вопрос

Если доступ к электронной почте должен предоставлять доступ к приложению, в чем недостатки сопоставления пользователей по email, предоставленному провайдером SSO (при условии, что email_verified равно true)?

Ответ или решение

Сопоставление пользователей по электронной почте в системах единого входа (SSO) действительно вызывает определенные риски и недостатки. Рассмотрим ключевые моменты, которые необходимо учитывать при принятии решения о том, как идентифицировать пользователей.

1. Уникальность идентификаторов

Недостаток: Использование электронной почты в качестве основного идентификатора может привести к проблемам с уникальностью. Хотя почтовый адрес традиционно считается уникальным, пользователи могут менять свои адреса электронной почты или использовать несколько адресов. В результате может возникнуть ситуация, когда один и тот же пользователь будет иметь несколько учетных записей, если он использует разные SSO-провайдеры с различными адресами электронной почты.

2. Возможные конфликты и ошибки

Недостаток: Как вы упомянули в вашем вопросе, если пользователь зарегестрирован через одного поставщика SSO (например, Google) и затем решает войти с помощью другого (например, Facebook) с тем же адресом электронной почты, это может привести к созданию новой учетной записи. Основное правило работы с SSO заключается в том, что разные провайдеры могут иметь разные механизмы/данные по идентификации пользователей, и не всегда невозможно гарантировать, что почта одного провайдера соответствует почте другого.

3. Безопасность и конфиденциальность

Недостаток: Часто пользователи не понимают, что их почта может быть использована как идентификатор. Это открывает риски для безопасности и конфиденциальности. Например, если кто-то получит доступ к учетной записи пользователя на одном SSO-сервисе, он может попытаться использовать тот же адрес электронной почты для сброса пароля или доступа к другим учетным записям, что увеличивает риск атаки «по управлению учетной записью».

4. Анонимность пользователей

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

5. Проблемы с переходом между сервисами

Недостаток: Если пользователь зарегистрировался во многих сервисах с различными способами аутентификации, и в какой-то момент он решает изменить свой провайдер SSO, могут возникнуть серьезные проблемы. Пользователю может оказаться трудно объединить свои учетные записи и вести учет своих данных.

Рекомендации

  • Оптимальным вариантом является использование стандартных уникальных идентификаторов, таких как sub (subject) из токена JWT, выданного SSO-поставщиком. Это обеспечивает уникальность и стабильность идентификатора.
  • Отображение аккаунтов может осуществляться, но только на основе записи, где каждый аккаунт привязан к конкретному SSO-поставщику, и необходимо предусмотреть дополнительный механизм для связывания этих аккаунтов.
  • Применение элементов аутентификации на основе другого контекста, помимо электронной почты, может также помочь избежать вышеописанных проблем.

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

Оцените материал
Добавить комментарий

Капча загружается...