Как упростить вход в систему с помощью системы единого входа без пароля
26 мая 2022 г.Что такое единый вход?
Единый вход (SSO) — это структура проверки подлинности, которая позволяет пользователям проходить проверку подлинности в нескольких приложениях с использованием одного набора учетных данных.
SSO работает на основе связи между приложением, в которое пользователь хочет войти (поставщик услуг), и поставщиком удостоверений, который будет аутентифицировать пользователя.
Процесс входа обычно состоит из следующих шагов:
- Пользователь переходит к приложению или веб-сайту, требующему аутентификации (поставщик услуг).
- Затем они перенаправляются в домен аутентификации (поставщик удостоверений), где им может быть предложено войти в систему.
- Если пользователь уже вошел в систему своего поставщика удостоверений, он может быть немедленно перенаправлен обратно в исходное приложение без повторного входа в систему.
- Поставщик удостоверений отправит маркер обратно поставщику услуг, подтверждающий успешную аутентификацию.
- Пользователю предоставлен доступ к поставщику услуг.
Подключиться к OpenID
Большинство приложений SSO, ориентированных на потребителя, используют протокол аутентификации OpenID Connect (OIDC). Этот протокол обрабатывает процесс аутентификации с помощью веб-токенов JSON и центрального поставщика удостоверений, используя шаги, описанные выше. В этом случае после входа пользователя в систему поставщика удостоверений его просят предоставить приложению (поставщику услуг) доступ к определенным данным. Идентификационный токен с информацией о пользователе генерируется и отправляется в приложение.
Теперь вы можете использовать YooniK в качестве поставщика удостоверений, используя протокол OIDC, чтобы добиться действительно беспрепятственного входа в систему. Чтобы войти в YooniK, вам нужно имя пользователя и селфи, и все! Больше не нужно беспокоиться о паролях. Вы можете проверить здесь для примера приложения Python, использующего сервер OIDC YooniK для входа пользователей.
YooniK как поставщик корпоративной идентификации для Auth0
Если вы уже используете службу управления идентификацией в своих приложениях, например Auth0 и хотите улучшить процесс входа в систему, вы можете добавить YooniK SSO в качестве варианта входа и включить без пароля аутентификация без усилий. Готовый? Выполните следующие действия:
Предпосылки
- Выберите соответствующий Тип приложения.
- Добавьте разрешенный URL-адрес обратного вызова в https://ВАШЕ_ПРИЛОЖЕНИЕ/callback.
- Убедитесь, что [Типы грантов] вашего приложения (https://auth0.com/docs/get-started/applications/update-grant-types) включают соответствующие потоки.
Настройте свое приложение с сервисом YooniK SSO
Чтобы разрешить пользователям входить в систему с помощью YooniK SSO, вы должны зарегистрировать свое приложение в YooniK.
Найдите свое доменное имя Auth0 и URI перенаправления
Обычно ваше доменное имя Auth0 — это имя вашего клиента, ваш региональный поддомен (если ваш клиент не находится в регионе США и был создан до июня 2020 года) плюс .auth0.com
. Например, если имя вашего клиента было exampleco-enterprises
, ваше доменное имя Auth0 будет exampleco-enterprises.us.auth0.com
, а ваш URI перенаправления будет https://exampleco-enterprises.us.auth0. com/login/callback
(если ваш клиент находится в США и был создан до июня 2020 года, то вашим доменным именем будет https://exampleco-enterprises.auth0.com
).
Если вы используете собственные домены, ваш URI перенаправления будет иметь следующий формат: https://<ВАШ ПОЛЬЗОВАТЕЛЬСКИЙ ДОМЕН>/login/ обратный вызов
.
Отправьте запрос YooniK на настройку вашего приложения
Чтобы настроить свое приложение с помощью YooniK, отправьте электронное письмо на адрес support@yoonik.me с запросом сервисного аккаунта SSO и укажите свое имя приложения, домен Auth0. и URI перенаправления. Вы получите уникальный идентификатор зарегистрированного приложения, а также секрет (Идентификатор клиента и Секрет клиента). Запишите эти значения, они понадобятся вам позже.
Создание корпоративного подключения с помощью панели инструментов Auth0
- Перейдите к Панель управления Auth0 > Аутентификация > Предприятие, найдите Open ID Connect и нажмите +.
- Введите данные для подключения и выберите Создать:
- Имя подключения: Логический идентификатор вашего подключения: он должен быть уникальным для вашего клиента (например, "yoonik-oidc").
- URL эмитента: https://accounts.yoonik.me/.well-known/openid-configuration
- Идентификатор клиента: Уникальный идентификатор вашего зарегистрированного приложения. Введите сохраненное значение Идентификатор клиента для приложения, которое вы ранее зарегистрировали в YooniK.
- URL обратного вызова: URL-адрес, на который Auth0 перенаправляет пользователей после их аутентификации. Убедитесь, что это значение, которое вы ранее предоставили YooniK.
- Синхронизировать атрибуты профиля пользователя при каждом входе в систему: Если этот параметр включен, Auth0 автоматически синхронизирует данные профиля пользователя с каждым входом пользователя, тем самым обеспечивая автоматическое обновление изменений, внесенных в источник подключения, до Auth0.
- В представлении Настройки внесите следующие изменения в конфигурацию, а затем нажмите Сохранить изменения:
- Тип: Установите значение Обратный канал.
- Client Secret: Введите сохраненное значение Client Secret для приложения, которое вы ранее зарегистрировали в YooniK.
- Области действия: Введите "openid profile".
- В представлении Вход в систему настройте способ входа пользователей с этим подключением, а затем нажмите Сохранить:
- Установите флажок Отображать соединение как кнопку .
- Отображаемое название кнопки: YooniK.
- URL логотипа кнопки:
https://yk-website-images.s3.eu-west-1.amazonaws.com/logo.png
.
- В представлении Приложения включите приложения, для которых вы хотите использовать это подключение.
И это сделано! После этих шагов ваши пользователи смогут входить в ваше приложение, просто используя свое лицо!
Для получения дополнительной информации и бесплатных пробных лицензий, пожалуйста свяжитесь с нами или присоединитесь к нашему сообществу Discord.
Раскрытие информации: В настоящее время я работаю с YooniK в качестве соучредителя и вице-президента по инженерным вопросам, и у меня есть доля в компании.
Также опубликовано [здесь] (https://www.yoonik.me/resources/blog/streamline-your-login-experience-with-a-single-sign-on-without-passwords).
Оригинал