Руководство по настройке единого входа SAML SSO в ASP.NET Framework с использованием Azure B2C в качестве поставщика идентификации.
Обзор
Модуль единого входа (SSO) ASP.NET SAML дает возможность включить Единый вход SAML для ваших ASP.NET-приложений. Используя Единая точка входа Для доступа к вашему сайту можно использовать только один пароль. Приложение ASP.NET и услуг. Наш модуль совместим со всеми Поставщики идентификационных данных, соответствующие стандарту SAMLЗдесь мы рассмотрим пошаговое руководство по настройке. Единый вход (SSO) между ASP.NET и Azure B2C принимая во внимание Azure B2C в качестве IdP.
Поддержка платформы: Модуль ASP.NET SAML SSO поддерживает платформы ASP.NET 3.5 и выше.
Предварительные условия: загрузка и установка
- Чтобы установить пакет NuGet miniOrange SAML SSO Для интеграции в ваше .NET-приложение просто установите пакет miniOrange NuGet поверх вашего приложения.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- После установки откройте браузер и перейдите в панель управления модуля по указанному ниже URL-адресу:
http(s)<your-dotnet-application-base-url>?ssoaction=config
- Если появляется страница регистрации или страница входа в систему, значит, вы успешно добавили модуль miniOrange SAML SSO в свое приложение.
- Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрировать филиал кнопка для настройки модуля.
- После успешной регистрации вы получите пробный лицензионный ключ на указанный вами адрес электронной почты.
- Для активации модуля вы можете сделать одно из следующих действий:
- Введите лицензионный ключ получено по электронной почте в указанное поле ввода.
- Загрузите скачанный файл лицензии, нажав на кнопку. Кликните сюда .
OR
- Затем поставьте галочку в поле «Я ознакомился с вышеизложенными условиями и хочу активировать модуль» и нажмите кнопку. Активировать лицензию .
Шаги настройки
1. Предоставьте метаданные приложения .NET поставщику идентификации Azure B2C.
Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.
A] Использование URL-адреса метаданных SAML или файла метаданных
- В Меню настроек плагина, искать Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
- Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
B] Загрузка метаданных вручную
- Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например: Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода. и поделитесь им со своим поставщиком идентификационных данных для настройки.
- Вы можете ознакомиться с приведенным ниже скриншотом:
Зарегистрируйте заявку на использование системы управления идентификацией (Identity Experience Framework).
- Войти в Портал Azure B2C.
- В клиенте Azure AD B2C выберите Регистрация приложений, А затем выберите Новая регистрация.
- Для пакетов Имя, введите IdentityExperienceFramework.
- Под Поддерживаемые типы учетных записей, наведите на Учетные записи только в этом организационном каталоге.
- Под URI перенаправленияВыберите «Веб», а затем введите «https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com», где your-tenant-name — это доменное имя вашего клиента Azure AD B2C.
ВниманиеНа следующем этапе, если «Разрешения» Если этот раздел не отображается, возможно, причина в отсутствии активной подписки AzureAD B2C для данного клиента. Подробную информацию о подписке AzureAD B2C можно найти здесь. здесь Вы можете создать нового арендатора, выполнив следующие шаги. здесь.
- Под Разрешения..., выберите Предоставьте администратору согласие на использование разрешений openid и offline_access. установите флажок.
- Нажмите на Зарегистрировать филиал.
- Запишите ID приложения (клиента) для использования на более позднем этапе.
Зарегистрируйте заявку на использование системы управления идентификацией (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. Для распространения разрешений может потребоваться несколько минут.
Зарегистрируйте приложение ASP.NET
- Выберите «Регистрация приложений», а затем «Новая регистрация».
- Введите название для приложения, например: WP-app.
- Под Поддерживаемые типы учетных записей, наведите на Учетные записи в любом организационном каталоге или любом поставщике удостоверений. Для аутентификации пользователей с помощью Azure AD B2C..
- Под URI перенаправленияВыберите «Веб», а затем введите URL-адрес ACS из... Настройки поставщика услуг вкладка плагина miniOrange ASP.NET SAML.
- Выбрать Зарегистрировать филиал.
- Под Управление, нажмите на Предоставьте API.
- Нажмите на Поставьте для URI идентификатора приложения, а затем нажмите СохраненоПринимая значение по умолчанию.
- После сохранения скопируйте URI идентификатора приложения и перейдите к Метаданные поставщика услуг вкладка плагина.
- Вставьте скопированное значение под Идентификатор субъекта-участника / эмитент поле, доступное на этой вкладке.
- Нажмите на Сохранить.
Создание политик единого входа (SSO)
-
На портале Azure B2C перейдите в раздел «Обзор» вашего клиента B2C и укажите имя вашего клиента.
ЗАМЕТКАЕсли ваш домен B2C — b2ctest.onmicrosoft.com, то имя вашего клиента — b2ctest.
- Введите Имя арендатора Azure B2C Ниже указаны идентификаторы приложений IdentityExperienceFramework и ProxyIdentityExperienceFramework, зарегистрированные на предыдущих этапах.
- Нажмите на Создание политик Azure B2C кнопку для загрузки политик единого входа.
- Распакуйте загруженный zip-архив. Он содержит файлы политик и сертификат (.pfx), которые вам понадобятся на следующих шагах.
Настройка и загрузка сертификатов
ВниманиеНа следующем этапе, если «Структура опыта идентичности» Если ссылка неактивна, возможно, причина в отсутствии активной подписки 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.
- Для пакетов Использование ключаВыберите «Шифрование».
- Выбрать Создавай.
Загрузите правила
- Выберите Структура опыта идентичности пункт меню в вашем клиенте B2C на портале Azure.
- Выбрать Загрузить пользовательскую политику.
- Загрузите файлы политики, загруженные на предыдущих этапах, в следующем порядке:
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
- SignUpOrSigninSAML.xml
- По мере загрузки файлов Azure добавляет к каждому из них префикс B2C_1A_.
Вы успешно настроили Azure B2C в качестве поставщика идентификации SAML (SAML IDP) для реализации единого входа (SSO) в ASP.NET.
2. Настройка метаданных поставщика удостоверений AzureB2C в приложении .NET
- Нажмите на Выберите своего IDP кнопка для настройки нового поставщика идентификации.
- Под Плагин Настройки вкладка, выберите AzureB2C в качестве поставщика идентификационных данных из представленного списка.
Ниже описаны два способа настройки метаданных поставщика идентификации SAML в модуле.
A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
- Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в модуле, используя... Загрузка метаданных IDP опцию.
- Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
- Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
B] Настройте метаданные поставщика идентификации вручную:
- После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и Сертификат SAML X509 поля соответственно.
- Нажмите Сохранено чтобы сохранить данные вашего IDP.
3. Тестирование SAML SSO
- После загрузки метаданных перейдите по ссылке. Настройки поставщика идентификации раздел. Наведите курсор на Выберите действия раскрывающийся список и нажмите на Тестовая конфигурация.
- На скриншоте ниже показан успешный результат. Нажмите на SSO интеграция для дальнейшего продолжения интеграции SSO.
- Если на стороне модуля возникнет ошибка, вы увидите окно, похожее на приведенное ниже.
- Для устранения ошибки выполните следующие действия:
- Под Устранение неполадок Вкладка, включите переключатель, чтобы получать журналы плагина.
- После включения вы сможете получать журналы плагина, перейдя по адресу... Плагин Настройки вкладку и нажав на Тестовая конфигурация.
- Скачать журнальный файл из Устранение неполадок Нажмите вкладку, чтобы посмотреть, что пошло не так.
- Вы можете поделиться журнальный файл с нами в aspnetsupport@xecurify.com Наша команда свяжется с вами, чтобы решить вашу проблему.
4. Сопоставление атрибутов
- После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
- В левом меню модуля miniOrange ASP.NET SAML SSO нажмите на Сопоставление атрибутов/ролей вкладка, как показано на изображении.
- Если вы хотите передать дополнительные атрибуты из вашего поставщика идентификации (IdP), введите имя атрибута и соответствующее значение атрибута в соответствующем поле. Пользовательское сопоставление атрибутов.
- Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
- После сопоставления атрибутов нажмите Сохранить сопоставление атрибутов для внесения изменений.
5. Интеграционный код
- Эти шаги позволяют получить информацию о пользователе SSO в вашем приложении в виде сессии.
- Вы также можете посмотреть установка тура чтобы понять, как будет работать интеграция SSO в вашем модульном приложении ASP.NET.
- Просто скопируйте и вставьте этот фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
- Примечание: В пробном модуле данные аутентифицированного пользователя хранятся в переменных сессии. Поддержка установки пользовательских утверждений с использованием аутентификации на основе заголовков, файлов cookie и JWT доступна в нашем премиум-плагине.
6. Настройки входа в систему
- Наведите указатель мыши на Выберите действия и нажмите на Скопировать ссылку SSO.
- Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
https://<asp.net-module-base-url>/?ssoaction=login
- Например, вы можете использовать его следующим образом:
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. Настройки выхода из системы
- Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO:
https://<asp.net-module-base-url>/?ssoaction=logout
- Например, вы можете использовать его следующим образом:
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
Статьи по теме
Контакт
Пожалуйста, свяжитесь с нами по адресу aspnetsupport@xecurify.comНаша команда поможет вам настроить SAML SSO на платформе ASP.NET Framework. Мы поможем вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.
