Как я могу настроить процесс входа для каждого приложения или организации?
Как настроить индивидуальные процессы входа для многоапповых и многопользовательских компаний.
Настройка потока входа для вашего приложения довольно обычна, но иногда сталкиваешься с немного сложным сценарием,
- Вы управляете бизнесом с несколькими приложениями.
- У вас есть многопользовательское приложение, которое поддерживает разные рабочие пространства.
Самый простой подход - поддерживать универсальный процесс входа для всех приложений и организаций. Например, HubSpot предлагает широкий спектр продуктов, но их процесс входа остается последовательным для всех. Это помогает подчеркнуть родительский бренд, как HubSpot, а не отдельные продукты, такие как Marketing Hub.
Вход на уровне приложений
Некоторые компании следуют стратегии множества продуктов, но предпочитают оставлять единственный пул пользователей. Например, Atlassian, известная SaaS компания, предлагает несколько программных продуктов, таких как Jira и Confluence. Вот их экран входа.
URL входа включает параметр ?bundle=jira-software
, чтобы указать, что это интерфейс входа для продукта Jira.
URL входа включает параметр ?bundle=confluence
, чтобы указать, что этот интерфейс входа для продукта Confluence.
Различия в интерфейсе входа между приложениями:
- Они используют разные логотипы, чтобы указать определенный продукт.
- У них разные визуальные отличия, такие как различные шрифты и стили кнопок.
Однако ключевые методы аутентификации остаются неизменными во всех приложениях. Это обеспечивает единый профиль пользователей, включая их идентификаторы (электронная почта, социальные аккаунты) и факторы аутентификации (например, пароли), для более эффективного управления идентичностью.
Вход на уровне организаций
Другой пример - Notion, многопользовательское приложение, которое позволяет разным клиентам размещать отдельные рабочие пространства. Например, если вы введете
Если "Silverhand" является именем рабочего пространства, Notion отобразит вход для конкретной организации. Единственное отличие - в логотипе, все остальное остается тем же.
Как мы можем настроить процесс входа для каждого приложения или организации?
Во-первых, вам необходимо решение для идентификации и аутентификации как основа для разработки. Давайте рассмотрим Logto как пример решений. Logto предлагает различные варианты для достижения этого:
Настроить непосредственно в Logto Cloud
Это быстрое и простое решение, если вы просто хотите настроить логотип и цвет кнопки.
Настройка на уровне приложений
При включении "опыта входа на уровне приложений" вы можете настроить конкретный брендинг и цвета для каждого приложения. Когда осуществляется вход из приложения с включенным брендингом на уровне приложения, опыт входа будет настроен в соответствии с настройками брендинга на уровне приложения; в противном случае он будет по умолчанию использовать настройки опыта универсального входа.
Настройки как в светлом, так и в темном режимах доступны для брендинга на уровне приложений. Настройки темного режима вступят в силу только тогда, когда темный режим включен в настройках опыта универсального входа.
Настройка на уровне организаций
Затем, когда вы запускаете вход, вы можете передать идентификатор организации в параметре organization_id
, чтобы указать Logto, какой логотип организации отображать. Например, чтобы показать логотип организации для идентификатора организации 123456
:
- Если вы используете Logto SDK, вы можете передать параметр
organization_id
в объектеextraParams
методаsignIn
. - Если вы используете клиента OIDC, вы можете передать параметр
organization_id
при запросе разрешающего конца.
Вот пример того, как передать параметр organization_id
в методе signIn
, используя Logto браузерный SDK:
Используйте ваш собственный интерфейс, если вам нужна более детальная настройка
Если настройки логотипа и цвета недостаточно — например, если вы хотите скрыть определенные параметры входа через социальные сети или полностью изменить внешний вид — вы можете загрузить ваш собственный интерфейс в Logto Cloud.
Чтобы отображать разные интерфейсы в зависимости от приложения или организации, используйте organization_id
и app_id
из параметров поиска. Затем напишите скрипт для управления интерфейсом на основе этих параметров. Для получения более подробной информации ознакомьтесь с "Используйте ваш собственный интерфейс" учебником.