Единый вход (SSO) по протоколу SAML в AWS Cognito с использованием плагина Joomla IDP.
Обзор
Единый вход (SSO) в AWS Cognito с использованием Joomla IDP позволяет пользователям входить в AWS Cognito через Joomla, настроив AWS Cognito в качестве поставщика услуг (SP), а Joomla — в качестве поставщика идентификации SAML (IDP). Это руководство шаг за шагом проведет вас через процесс настройки SSO между двумя платформами.
Что такое AWS Cognito?
AWS Cognito — это сервис от Amazon Web Services (AWS), предоставляющий возможности аутентификации, авторизации и управления пользователями для веб- и мобильных приложений. Он упрощает процесс добавления функций регистрации, входа в систему и контроля доступа к вашим приложениям.
Установите плагин Joomla SAML IDP.
- Войдите на свой сайт Joomla. Администратора приставка.
- В левом выпадающем меню нажмите на Системазатем в разделе «Установка» нажмите на Расширения.
- Теперь нажмите Или выберите файл. кнопка для поиска и установки ранее загруженного файла плагина.
- Установка плагина прошла успешно. Теперь нажмите на Начните использовать плагин miniOrange SAML IDP. для настройки плагина miniOrange Joomla IDP.
- Перейдите на сайт miniOrange Joomla IDP плагин, перейдите к Поставщик удостоверений меню.
- Здесь вы найдете XML-URL-адрес/файл метаданных поставщика идентификации или конечные точки, такие как идентификатор сущности поставщика идентификации, URL-адрес входа в SAML, URL-адрес выхода из SAML (премиум-функция) и сертификат для конфигурации поставщика услуг. Загрузите XML-метаданные, нажав на кнопку, показанную ниже.
Шаги настройки
В этой установке Joomla служит хранилищем для хранения пользователей, то есть будет выступать в роли поставщика идентификационных данных, в то время как AWS Когнито Здесь пользователи будут входить в систему, используя свои учетные данные из Joomla. Плагин Joomla SAML IDP SSO будет установлено.
Шаг 1: Настройте AWS Cognito в качестве поставщика услуг (SP).
- Прежде всего, перейдите к Консоль AWS Cognito и зарегистрируйтесь/войдите в свою учетную запись, чтобы настроить AWS Cognito.
- Перейдите на Услуги > Безопасность, идентификация и соответствие требованиям > Cognito.
- Нажмите Управление пулами пользователей, то Создать пул пользователей.
- Введите название для бассейна. Нажмите Проверка настроек по умолчанию, то Создать пул.
- После создания бассейна сохраните Идентификатор пула Это удобно, или вы можете записать это, чтобы это помогло настроить ваш поставщик идентификации (IdP).
- В левой панели в разделе «Интеграция приложений» нажмите «Имя домена». Введите доступный префикс домена, затем сохраните его. Сохраните этот домен, он потребуется в URL-адресе ACS для настройки вашего IDP.
- На левой панели нажмите на Поставщик удостоверений в рамках Федерации. Затем Выберите SAML.
- Загрузите метаданные Joomla IDP, дайте им имя, затем нажмите кнопку. Создать провайдера.
- Добавь это
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
В текстовом поле атрибута SAML выберите атрибут пула пользователей как Email.
- Нажмите Сохранить изменения.
Шаг 2: Настройка Joomla в качестве поставщика идентификационных данных
- В плагине miniOrange Joomla SAML IDP перейдите на вкладку «Поставщик услуг».
- В поле SP Entity ID введите urn:amazon:cognito:sp:(YourUserPoolId), (удалите тег привязки (<>) и добавьте идентификатор вашего пула пользователей, который вы уже скопировали выше при создании пула.
- Замените "yourUserPoolId" на идентификатор вашего пула пользователей Amazon Cognito.
- Чтобы найти идентификатор пула пользователей:
- Войдите в консоль управления AWS в качестве администратора.
- Перейдите в раздел «Службы» > «Безопасность, идентификация и соответствие требованиям», затем выберите Cognito.
- Выберите «Управление пулами пользователей», затем выберите пул пользователей, который хотите использовать в конфигурации.
- Найдите идентификатор пула в верхней части списка.
- В поле «URL-адрес ACS» введите:
https://YourSubdomain.amazoncognito.com/saml2/idpresponse
и сохранить его. - Пожалуйста, замените YourSubdomain на тот, который вы создали на предыдущем шаге.
- Вы также можете найти свой поддомен, выполнив следующие шаги:
- Чтобы найти YourSubdomain:
- В разделе «Интеграция приложений» нажмите на «Доменное имя».
- Скопируйте весь URL-адрес и замените его на YourSubdomain в URL-адресе ACS (пожалуйста, удалите все пробелы).
- Установите флажок «Подписать утверждение», чтобы подписать утверждение, и нажмите кнопку «Сохранить».
- Для сопоставления атрибутов перейдите на вкладку «Сопоставление». Выберите своего поставщика услуг из выпадающего списка.
- Добавь это
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Введите значение в текстовое поле «Имя атрибута» и в раскрывающийся список «Значение атрибута» формы «Выберите адрес электронной почты». Нажмите кнопку «Сохранить сопоставление».
Шаг 3. Настройте клиент приложения в AWS Cognito
- Теперь в разделе «Общие настройки» нажмите «Клиенты приложений». Нажмите «Добавить клиент приложения».
- Введите имя клиента приложения. Например, JoomlaIdP. Снимите флажок «Сгенерировать секретный ключ клиента» и нажмите кнопку «Создать клиент приложения» внизу.
- Теперь в левой панели в разделе «Интеграция приложений» нажмите на «Настройки клиента приложения».
- Включите флажок «Выбрать все», введите URL-адрес(а) обратного вызова и URL-адрес(а) выхода. Выберите «Неявное предоставление» в разделе «Разрешенные потоки OAuth». Теперь включите флажки «email» и «openid» в разделе «Разрешенные области действия OAuth» и нажмите кнопку «Сохранить изменения» в правом нижнем углу.
- Теперь нажмите кнопку «Запустить размещенный пользовательский интерфейс» внизу, чтобы выполнить единый вход (SSO).
- Для выполнения единого входа (SSO) вы также можете использовать следующий URL-адрес SSO.
https://(domain_prefix).auth.(region).amazoncognito.com/login?
response_type=token&client_id=(app client id)&redirect_uri=(your redirect URI)
