Плагин Laravel OAuth Single Sign-On (SSO) позволяет включить единый вход OAuth для ваших приложений Laravel. Используя единый вход, вы можете использовать только один пароль для доступа к вашему приложению и сервисам Laravel. Наш плагин совместим со всеми поставщиками идентификации, поддерживающими OAuth. Здесь мы рассмотрим пошаговое руководство по настройке единого входа (SSO) между Laravel и AWS Cognito, используя AWS Cognito в качестве поставщика OAuth. Чтобы узнать больше о других функциях, которые мы предоставляем в плагине Laravel OAuth client single-sign-on-sso, вы можете перейти по этой ссылке.
Установка пакета Laravel OAuth Client
- Откройте окно командной строки и перейдите в свой рабочий каталог. Главная директория приложения Laravel.
- Введите команду ниже.
composer require miniorange/oauth-laravel-free
- После успешной установки пакета откройте ваше приложение Laravel в браузере и введите
{laravel-application-domain}/mo_oauth_admin
- Программа начнет настройку вашей базы данных, а затем перенаправит вас на страницу регистрации администратора.
- Для настройки плагина зарегистрируйтесь или войдите в свою учетную запись miniOrange.
- После входа в систему вы увидите Настройки поставщика OAuth В этом разделе вы получите URL-адрес переадресации/обратного вызова. Сохраните его, так как он понадобится позже для настройки плагина единого входа AWS Cognito (SSO).
Шаги по настройке единого входа (SSO) в AWS Cognito. Вход в Laravel.
1. Настройте AWS Cognito в качестве поставщика OAuth.
- Прежде всего, перейдите к Консоль Амазон и зарегистрируйтесь/войдите в свою учетную запись, чтобы настроить AWS Cognito.
- Найдите Cognito в Сервисы AWS панель поиска, как показано ниже.
- Нажмите на Управление пулами пользователей Нажмите кнопку, чтобы просмотреть список ваших пулов пользователей.
- Нажмите на Создать пул пользователей для создания нового пула пользователей.
- Добавить Имя пула и нажмите на Проверка настроек по умолчанию Кнопка продолжить.
- Прокрутите вниз и нажмите на «Добавить клиент приложения» а затем снова нажмите Добавить клиентское приложение.
- Введите Название клиента приложения и нажмите на Создать клиентское приложение для создания клиентского приложения.
- Нажмите на Вернуться к информации о пуле чтобы вернуться к вашей конфигурации.
- Нажмите на Создать пул кнопку, чтобы сохранить настройки и создать пул пользователей.
- На панели навигации слева нажмите на Настройки клиента приложения вариант под Интеграция приложений .
- Включите поставщика идентификации в качестве Пул пользователей Cognito и введите свой URL обратного вызова/перенаправления который вы получите из пакета Laravel OAuth, расположенного в папке... URL-адреса перенаправления/обратного вызова текстовое поле. Выбрать Предоставление кода авторизации флажок под Разрешенные потоки OAuth и также выберите OpenID и профиль флажки под Разрешенные области действия OAuth Вариант (см. изображение ниже). Нажмите на Сохранить изменения кнопку для сохранения ваших конфигураций.
- Нажмите на Выберите доменное имя опция для задания доменного имени для вашего приложения.
- Перейдите на доменное имя Введите доменное имя для вашего приложения. После добавления доменного имени вы можете проверить его доступность, нажав на кнопку. «Проверить наличие мест» Кнопка. После ввода корректного доменного имени нажмите «Сохранить изменения» .
- Полное доменное имя: Скопируйте полное доменное имя. {ваше доменное имя}.auth.{название региона}.amazoncognito.comВам необходимо ввести это в поле «Конечные точки» в разделе в пакете Laravel OAuth Single Sign-On (SSO).
- Перейдите на «Клиент приложения» и нажмите на «Показать подробности» Чтобы получить идентификатор клиента и секретный ключ клиента. (Сохраните идентификатор клиента и секретный ключ клиента, так как они понадобятся вам позже.)
- Нажмите на Пользователи и группы вариант под общие настройки меню в левой боковой панели навигации. Затем нажмите на Создать пользователя кнопка добавления нового пользователя.
- Заполните все необходимые данные и нажмите кнопку. Создать пользователя.
- Вы можете увидеть созданного нового пользователя.
2. Настройте плагин Laravel OAuth в качестве клиента OAuth.
- Перейдите на сайт miniOrange Laravel OAuth SSO пакет и нажмите Выберите Cognito в качестве поставщика OAuth..
- Введите идентификатор клиента и Секрет клиента из AWS Cognito Клиент приложения меню.
- Для настройки воспользуйтесь таблицей ниже. Объем и Endpoints Или же после выбора области действия Cognito и конечных точек они будут автоматически добавлены в соответствующие поля:
| Объем: |
OpenID |
| Авторизовать конечную точку: |
https://<cognito-app-domain>/oauth2/authorize |
| Конечная точка токена доступа: |
https://<cognito-app-domain>/oauth2/token |
| Получение информации о пользователе через конечную точку: |
https://<cognito-app-domain>/oauth2/userInfo |
- Вы можете отправить учетные данные клиента. заголовок и отправить состояние параметр также введите атрибут входа согласно вашему требованию.
- Нажмите на сохранить настройки После этого нажмите на кнопку. тестовая конфигурация Нажмите эту кнопку, и вы получите список имен атрибутов и значений атрибутов, отправленных вашим OAuth-провайдером.
3. Варианты единого входа (SSO)
- Вы также можете использовать ссылку для входа через своего поставщика OAuth/OpenID.
- Эта ссылка имеет следующий формат:
{laravel-application-domain}/ssologin.php?option=oauthredirect
4. Поддержка / Демонстрация
- Поддержка и Запрос на пробную версию/демо-версию Для связи с клиентами и получения демонстрационных материалов и поддержки доступны соответствующие вкладки.
В этом руководстве вы успешно настроили единый вход (SSO) AWS Cognito, используя Laravel в качестве клиента OAuth. Это решение гарантирует, что вы сможете развернуть безопасный доступ к вашему сайту Laravel с использованием учетных данных AWS Cognito за считанные минуты.
Дополнительные ресурсы