Как включить единый вход
Введение
Вы подключили Casdoor и настроили более одного приложения в организации. Вы хотите, чтобы пользователи входили один раз в любое приложение организации, а затем могли входить, когда они переходят в другое приложение без лишних кликов.
Мы предлагаем эту функцию единого входа. Чтобы включить ее, вам просто нужно:
- Включить кнопку автоматического входа.
- Заполнить URL домашней страницы.
- Добавить функцию Тихого Входа на домашнюю страницу приложения.
Базовый процесс входа, предоставляемый Casdoor, позволяет пользователям входить в другие приложения организации, выбирая пользователя, который в данный момент вошел в систему, или используя другой аккаунт.
После включения автоматического входа, список выбора не будет отображаться, и вошедший пользователь будет входить непосредственно.
Конфигурация
- Заполните поле "дом". Это может быть домашняя страница приложения или страница входа.
2. Включить кнопку автоматического входа.
Добавить Тихий Вход
На самом деле, мы реализуем автоматический вход, передавая параметры в URL. Таким образом, ваши приложения должны иметь метод для инициирования входа после перехода по URL. Мы предоставляем casdoor-react-sdk, чтобы помочь вам быстро реализовать эту функцию. Вы можете увидеть детали по ссылке use-in-react.
Как это работает
- В URL на домашнюю страницу приложения мы будем передавать параметр
silentSignin
. - На вашей домашней странице определите, нужно ли вам входить тихо (автоматически), проверив параметр
silentSignin
. ЕслиsilentSignin === 1
, функция должна возвращать компонентSilentSignin
, который поможет вам инициировать запрос на вход. Поскольку у вас включен автоматический вход, пользователи будут входить автоматически без кликов.
Добавить Вход во Всплывающем Окне
Функция "вход во всплывающем окне" откроет маленькое окно. После входа в Casdoor в дочернем окне он отправит информацию для аутентификации в главное окно и затем автоматически закроется. Мы реализуем эту функцию, передавая параметры в URL.
Как использовать
Используйте метод popupSignin()
в casdoor-js-sdk, чтобы быстро реализовать эту функцию. Вы можете увидеть демонстрацию по ссылке casdoor-nodejs-react-example.
Как это работает
- В URL на домашнюю страницу приложения мы будем передавать параметр
popup
. - Когда в параметрах входа есть
popup=1
, Casdoor отправитcode
иstate
как сообщение в главное окно и завершит получениеtoken
в главном окне с помощью SDK.
Использование SSO
Конфигурация завершена. Ниже мы покажем вам, как использовать автоматический вход.
Убедитесь, что ваше приложение может перенаправлять на страницу профиля пользователя. API getMyProfileUrl(account, returnUrl) предоставляется в нашем SDK для каждого языка.
Откройте страницу профиля и перейдите на страницу "Домой" (путь URL /
). Вы увидите список приложений, предоставляемых организацией. Стоит отметить, что только пользователи в организациях, отличных от "встроенных", могут видеть список приложений на странице "Домой". Все глобальные администраторы (те, что в организации "встроенные") не могут его видеть.
Нажмите на плитку в списке приложений, и вы перейдете на домашнюю страницу этого приложения с GET-параметром ?silentSignin=1
. Оно автоматически войдет в приложение, если приложение интегрировано с Casdoor SSO (так что оно распознает параметр ?silentSignin=1
и выполнит тихий вход в фоновом режиме).