Laravel SAML Единый вход (SSO) Этот плагин позволяет включить единый вход SAML для ваших приложений Laravel. Используя единый вход, вы можете использовать только один пароль для доступа к вашему приложению и сервисам Laravel. Наш плагин совместим со всеми поставщиками идентификации, поддерживающими SAML. Здесь мы рассмотрим пошаговое руководство по настройке единого входа (SSO) между Laravel и Azure B2C, рассматривая Azure B2C в качестве поставщика идентификации.
Предварительные условия: загрузка и установка
Шаги по настройке единого входа (SSO) Azure B2C для входа в Laravel
1. Настройте Azure B2C в качестве поставщика удостоверений.
1.1 Регистрация приложений Azure B2C
Зарегистрируйте заявку на использование системы управления идентификацией (Identity Experience Framework).
Зарегистрируйте заявку на использование системы управления идентификацией (Identity Experience Framework).
- Под Управление, наведите на Предоставьте API.
- Выберите Добавить область действияЗатем выберите «Сохранить и продолжить» и примите URI идентификатора приложения по умолчанию.
- Введите следующие значения, чтобы создать область действия, разрешающую выполнение пользовательских политик в вашем клиенте Azure AD B2C:
- Название области действия: пользователь_имперсонация
- Имя, отображаемое при согласии администратора: Доступ к IdentityExperienceFramework
- Описание согласия администратора: Разрешите приложению доступ к IdentityExperienceFramework от имени вошедшего в систему пользователя.
- Выберите Добавить область действия
Зарегистрируйте приложение ProxyIdentityExperienceFramework
- Выберите Регистрация приложений, А затем выберите Новая регистрация.
-
Для пакетов Имя, введите ProxyIdentityExperienceFramework.
- Под Поддерживаемые типы учетных записей, наведите на Учетные записи только в этом организационном каталоге.
- Под URI перенаправления, используйте раскрывающийся список для выбора Публичный клиент/нативный (мобильные и настольные устройства).
-
Для пакетов URI перенаправления, введите myapp://auth.
- Под Разрешения...Установите флажок «Предоставить администратору согласие на использование разрешений openid и offline_access».
- Выберите Зарегистрироваться на вебинар на украинском можно .
- Запишите ID приложения (клиента) для использования на более позднем этапе.
Далее укажите, что приложение следует рассматривать как публичный клиент.
- Под Управление, наведите на Аутентификация.
- Под Дополнительные параметры, включить Разрешить общедоступные клиентские потоки (Выберите «Да»).
- Выберите Сохранено.
Теперь предоставьте разрешения для области действия API, которую вы ранее предоставили при регистрации IdentityExperienceFramework.
- Под Управление, наведите на Разрешения API.
- Под Настроенные разрешения, наведите на Добавить разрешение.
- Выберите Мои API вкладку, затем выберите IdentityExperienceFramework Приложение.
- Под Разрешение, выберите пользователь_имперсонация область действия, которую вы определили ранее.
- Выберите Добавить разрешенияКак указано в инструкции, подождите несколько минут, прежде чем переходить к следующему шагу.
- Выберите Предоставьте согласие администратора для (имя вашего арендатора).
- Выберите свою текущую учетную запись администратора или войдите в систему с помощью учетной записи в вашем клиенте Azure AD B2C, которой назначена как минимум роль администратора облачных приложений.
- Выберите Да.
- Выберите обновление, а затем убедитесь, что в разделе отображается «Предоставлено для ...». Статус Что касается областей действия - offline_access, openid и user_impersonation. Для распространения разрешений может потребоваться несколько минут.
Зарегистрируйте приложение WordPress
- Выберите Регистрация приложений, А затем выберите Новая регистрация.
- Введите название для приложения, например: WordPress.
- Под Поддерживаемые типы учетных записей, наведите на Учетные записи в любом организационном каталоге или любом поставщике удостоверений. Для аутентификации пользователей с помощью Azure AD B2C..
- Под URI перенаправленияВыберите «Веб», а затем введите URL-адрес ACS из... Метаданные поставщика услуг вкладка плагина miniOrange SAML.
- Выберите Зарегистрироваться на вебинар на украинском можно .
- Под Управление, нажмите на Предоставьте API.
- Нажмите на Поставьте для URI идентификатора приложения, а затем нажмите СохраненоПринимая значение по умолчанию.
- После сохранения скопируйте URI идентификатора приложения и вставьте его в файл. Идентификатор субъекта-участника / эмитент поле в плагине Laravel SAML.
- Нажмите на Сохранить.
1.2 Создание политик единого входа (SSO)
- На портале Azure B2C перейдите в раздел «Обзор» вашего клиента B2C и укажите имя вашего клиента.
ПРИМЕЧАНИЕ: Если ваш домен B2C — b2ctest.onmicrosoft.com, то имя вашего клиента — b2ctest.
- Введите Имя арендатора Azure B2C ниже, а также идентификатор приложения для IdentityExperienceFramework и
Приложения ProxyIdentityExperienceFramework, зарегистрированные на предыдущих этапах.
Нажмите на Создание политик Azure B2C кнопку для загрузки политик единого входа.
Распакуйте загруженный zip-архив. Он содержит файлы политик и сертификат (.pfx), которые вам понадобятся на следующих шагах.
1.3 Настройка сертификатов
ПРИМЕЧАНИЕ:
На следующем этапе, если «Структура опыта идентичности» Если ссылка неактивна, возможно, причина в отсутствии активной подписки Azure AD B2C для данного клиента. Подробную информацию о подписке Azure AD B2C можно найти здесь.
здесь Вы можете создать нового арендатора, выполнив следующие шаги. здесь.
Загрузите сертификат
- Войдите в Лазурный портал и перейдите к своему клиенту Azure AD B2C.
- Под Политика, наведите на Структура опыта идентичности , а затем Ключи политики.
- Выберите Добавить, А затем выберите Параметры > Загрузить
- Введите имя как SamlIdpCert. Префикс B2C_1A_ будет автоматически добавлен к имени вашего ключа.
- С помощью элемента управления загрузкой файла загрузите сертификат, сгенерированный на предыдущих шагах, вместе с политиками SSO (tenantname-cert.pfx).
- Введите пароль сертификата в качестве имени вашего клиента и нажмите СоздавайНапример, если имя вашего клиента — xyzb2c.onmicrosoft.com, введите пароль как xyzb2c.
- Вы должны увидеть новый ключ политики с именем B2C_1A_SamlIdpCert.
Создайте ключ подписи.
- На странице обзора вашего клиента Azure AD B2C в разделе Политика, наведите на Структура опыта идентичности.
- Выберите Ключи политики и затем выберите Добавить.
-
Для пакетов меблировки, выберите «Сгенерировать».
- In Имя, введите TokenSigningKeyContainer.
-
Для пакетов Тип ключа, выберите RSA.
-
Для пакетов Использование ключаВыберите «Подпись».
- Выберите Создавай.
Создайте ключ шифрования
- На странице обзора вашего клиента Azure AD B2C в разделе Политика, наведите на Структура опыта идентичности.
- Выберите Ключи политики и затем выберите Добавить.
-
Для пакетов меблировки, выберите «Сгенерировать».
- In Имя, введите TokenEncryptionKeyContainer.
-
Для пакетов Тип ключа, выберите RSA.
-
Для пакетов Использование ключаВыберите «Шифрование».
- Выберите Создавай.
1.4 Загрузите правила
- Выберите Структура опыта идентичности пункт меню в вашем клиенте B2C на портале Azure.
- Выберите Загрузить пользовательскую политику.
- Загрузите файлы политики, загруженные на предыдущих этапах, в следующем порядке:
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
- SignUpOrSigninSAML.xml
- По мере загрузки файлов Azure добавляет к каждому из них префикс B2C_1A_.
Вы успешно настроили Azure B2C в качестве поставщика идентификации SAML (IdP) для обеспечения единого входа (SSO) в WordPress Azure B2C, гарантируя безопасный вход на сайт WordPress (WP).
2. Настройте плагин Laravel SAML в качестве поставщика услуг.
- Перейдите на сайт miniOrange Laravel SAML 2.0 SSO плагин и нажмите Выберите Файл кнопка рядом с Загрузка метаданных опцию.
- Выберите файл метаданных, который мы загрузили с вашего IDP, и нажмите на него. Загрузите .
- Нажмите на Тестовая конфигурация Нажмите кнопку, чтобы проверить правильность выполненной вами настройки SAML. В случае успешного выполнения тестовой настройки вы получите различные атрибуты пользователей, возвращаемые вашим поставщиком идентификации, в таблице тестовой конфигурации.
3. Варианты единого входа (SSO)
- Пользователи могут запустить процесс единого входа, нажав на соответствующую кнопку. Single Sign On Кнопка сгенерирована на вашей странице входа. Если у вас еще нет этой страницы, запустите... php artisan make:auth & php ремесленник миграция для генерации модуля аутентификации.
В этом руководстве вы успешно выполнили настройку. Единый вход Azure B2C SAML (вход через Azure AD SSO) Выбирая Azure B2C как поставщик идентификации и Laravel как хранимая процедура Используя плагин miniOrange-SAML Single Sign On – SSO Login, вы сможете обеспечить безопасный доступ к своему сайту Laravel. Вход в Azure B2C Учетные данные будут получены за считанные минуты.
Дополнительные ресурсы