Защищённый узел для данных пользователей в движении
Сравнивает аутентификацию и данные пользователей. Подробности о безопасном хранении и перемещении данных в Logto. Излагает передовые методы управления потоком данных (отображение атрибутов, синхронизация данных, пользовательские JWT).
Метаданные пользователя — это жизненная сила сервисов управления идентификацией и доступом (IAM). Они подпитывают такие функции продукта, как анализ данных, персонализированные впечатления, мониторинг безопасности и контроль доступа. Но с ростом взаимосвязанности приложений на разных платформах, в организациях и самих приложениях, управление метаданными пользователей может усложняться. Не бойтесь! Поняв поток пользовательских данных, вы можете построить бесшовный и безопасный процесс аутентификации.
Данные аутентификации против пользовательских данных
Не все данные пользователей создаются равными. Данные аутентификации — это определённое подмножество, обмениваемое во время выдачи токена. Представьте себе JWT (JSON Web Token), путешествующий в ваших HTTP-запросах. Большой JWT может замедлить процесс. Чтобы сохранить скорость и безопасность, мы включаем только необходимую информацию о пользователе, такую как идентификация, статус учётной записи, детали аутентификации, разрешения и базовый профиль пользователя.
В Logto мы фокусируемся на хранении следующих точек данных аутентификации:
- Статус учётной записи: Отслеживайте время создания, обновления, статус приостановки и историю входов. Включая
create_at
,updated_at
,account_suspended
,last_ip
. - Информация об аутентификации: Включает идентификаторы пользователей, факторы аутентификации и данные, связанные с проверкой. Включая
user_id
,password_digest
,password_algorithm
,username
,email
,email_verified
,phone
,phone_verified
,social_identities
,sso_identities
,mfa_config
,mfa_verification_factors
. - Информация об авторизации: Управляйте ролями, разрешениями, членством в организациях и авторизованными приложениями и устройствами для детального контроля доступа. Включая
role
,permission
,organization_id
,organization_role
,organization_permission
,grant_application
,grant_device
. - Стандартный профиль пользователя: Это наиболее распространённый профиль пользователя, зарегистрированный в OIDC. Logto также устанавливает его в качестве метаданных пользователя по умолчанию, хранящихся под пространством имён 'profile.'. Включая
first_name
,last_name
,middle_name
,name
,nickname
,profile
,website
,avatar
,gender
,birthdate
,zoneinfo
,locale
,address
.
Вне основ: Настройка пользовательских данных с Logto
- Logto выходит за рамки стандартного профиля. Наш API управления позволяет вам определять пользовательские данные, специфичные для нужд вашего бизнеса. Эти данные надёжно хранятся под выделенным пространством имён ‘custom.data’. Вот некоторые примеры:
occupation
,company_name
,company_size
.
Думая за пределами хранилища: внешние API данные с пользовательским JWT
- Некоторые бизнес-данные могут не нуждаться в постоянном хранении в Logto. Прелесть пользовательских JWT в том, что вы можете динамически извлекать эти данные через API-запросы во время выдачи токена, расширяя охват ваших пользовательских данных. Помните, безопасность имеет первостепенное значение, поэтому избегайте включ ения конфиденциальной информации в JWT, так как они легко поддаются разбору. Вот некоторые примеры:
subscribed_status
,last_path_visited
,app_theme
.
Путь пользовательских данных: приобретение и распространение
Данные пользователей поступают из различных источников:
- Ввод пользователя: Во время регистрации, настройки или обновлений профиля в вашем приложении.
- Поставщики идентификации (IdPs): Бесшовно синхронизируется во время социальных входов или корпоративного SSO.
- Миграции данных: Перемещение данных из существующих баз данных.
- Вмешательство администратора: Администраторы редактируют вручную через консоль или базу данных.
После того как у вас есть эти ценные данные, вы можете делиться ими безопасно:
- Предоставление разрешений сторонним приложениям: Предоставляйте контролируемый доступ к данным пользователей для авторизованных приложений.
- Экспорт данных: Экспортируйте данные пользователей из Logto для дальнейшего анализа.
- Доставка через JWT, Webhooks или API: Делитесь данными пользователей с вашими внутренними сервисами для создания единого пользовательского опыта.
Как центр идентификации Logto превосходно справляется с обработкой потока пользовательских данных. Мы облегчем получение информации о пользователе от различных поставщиков и её безопасную передачу уполномоченным сторонам.
Ключевые моменты
Теперь, когда вы понимаете путь пользовательских данных, давайте изучим некоторые ключевые вопросы при разработке:
- Отображение атрибутов Обеспечьте точное отображение атрибутов пользователя из различных источников, чтобы избежать информационных силосов. Для соединений SAML требуется ручное отображение. Используя OIDC, используйте стандартизированные утверждения или создайте уникальные пространства имён, чтобы избежать конфликтов.
- Синхронизация данных IdP и RP Синхронизация данных между IdP (поставщиками идентификации) и RP (полагющимися сторонами) обычно предполагает авторизацию и конкретные запросы на объём данных с обеих сторон. Будьте внимательны к статусу проверки. Синхронизированное "Email verified=false" от провайдера IdP, такого как GitHub или Azure AD, может не быть подтверждённым адресом электронной почты в вашей системе. Обрабатывайте это соответствующим образом.
- Сегрегация данных и перезапись в структуре с множеством субъектов
В сложных окружениях с множеством организаций, приложений и провайдеров сегрегация данных и поведение при перезаписи становятся критически важными.
- Многоорганизационное окружение: Пользователь может принадлежать к нескольким организациям. Различайте данные пользователя, хранящиеся в учётной записи пользователя, от организационных данных. Изменения в одной организации не должны влиять на другие.
- Многопрограмное окружение: Для приложений, использующих общую базу пользователей через Logto, реализуйте централизованные настройки учётной записи или модуль настроек профиля в вашем сервисе.
- Многопоставочное окружение: П риложения с различными методами входа в систему получают различную информацию о пользователях от каждого провайдера. В Logto выберите синхронизацию данных во время регистрации через социальный вход или при каждом входе в систему для корпоративного SSO. Социальный вход идеально подходит для начальной синхронизации данных, в то время как корпоративный SSO может синхронизировать информацию о членах при каждом входе для облегчения управления в пределах корпоративного IdP.
- Пользовательские JWT для расширенного доступа к данным Сила пользовательских JWT заключается в их способности динамически извлекать внешнюю информацию во время выдачи токена через API-запросы. Это позволяет вам получать данные, которые могут быть несущественными для основной функциональности, но могут обогатить пользовательский опыт. Помните, с большой гибкостью приходит большая ответственность. Поскольку JWT легко разбираются любым, кто их получает, избегайте включения конфиденциальных данных.
- Прогрессивная регистрация для более гладкой потока регистрации Не перегружайте пользователей формой регист рации, длиной с роман. Реализуйте прогрессивную регистрацию, технику, при которой вы изначально запрашиваете только критически важную информацию о пользователе. Это упрощает процесс регистрации и удерживает пользователей вовлечёнными. По мере того, как пользователи взаимодействуют с вашим приложением, вы можете постепенно собирать дополнительные данные для создания более богатого профиля пользователя.
Следуя этим лучшим практикам, вы можете обеспечить гладкий и безопасный поток пользовательских данных на протяжении всего процесса аутентификации.
Logto: Ваш защищённый узел для данных пользователей в движении
Эффективное управление пользовательскими метаданными позволяет вам персонализировать пользовательский опыт, улучшать безопасность и получать ценные инсайты о поведении пользователей. Используя безопасную и гибкую платформу Logto, вы можете раскрыть полный потенциал данных о пользователях и получить конкурентное преимущество в сегодняшнем мире, управляемом данными.