Единый вход (SSO) ASP.NET OAuth с использованием Keycloak в качестве поставщика OAuth.
Модуль ASP.NET OAuth Single Sign-On (SSO) позволяет включить единый вход OAuth для ваших приложений ASP.NET. Используя единый вход, вы можете использовать только один пароль для доступа к вашему приложению и сервисам ASP.NET. Наш модуль совместим со всеми поставщиками идентификации, поддерживающими OAuth. Здесь мы рассмотрим пошаговое руководство по настройке единого входа (SSO) между ASP.NET и Keycloak в качестве поставщика OAuth.
Для настройки коннектора извлеките...
asp-net-oauth-sso-module.zipВы найдете DLL-файл.
miniorange-oauth-sso.dll, файл конфигурации
oauthsso.config и интеграция.мд файл, содержащий пошаговые инструкции по добавлению модуля в ваше приложение.
1. Добавьте коннектор в ваше приложение.
Добавить miniorange-oauth-sso.dll в папке bin (где находятся другие ваши DLL-файлы) для вашего приложения.
Зарегистрировать филиал miniorangeoauthsso встройте модуль в ваше приложение, следуя инструкциям, приведенным в руководстве. интеграция.мд .
Добавьте предоставленный конфигурационный файл. oauthsso.config в корневом каталоге вашего приложения.
После интеграции откройте браузер и перейдите на панель управления коннектором по указанному ниже URL-адресу: https:// <your-application-base-url>/?ssoaction=config
Если отобразится страница регистрации или страница входа в систему, значит, вы успешно добавили коннектор miniOrange OAuth SSO для своего приложения.
Зарегистрируйтесь или войдите для настройки коннектора.
2. Настройте Keycloak в качестве поставщика OAuth.
Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите к нужному вам домену. Добавить новый домен можно, выбрав соответствующий пункт.
Добавить область опцию.
Создать область: Enter Имя области И сохраните имя области аутентификации, так как оно понадобится позже для настройки области аутентификации в плагине ASP.NET OAuth. Нажмите на СОЗДАТЬ для добавления области.
Создать клиент OpenID: Нажмите на
Наши клиенты , а затем выбрать Создайте Для создания нового клиента введите идентификатор клиента и выберите протокол клиента.
openid-connect и Сохранено.
Изменить тип доступа: После создания клиента измените его тип доступа на конфиденциальный.
Введите допустимые URI перенаправления: Копировать URL обратного вызова из плагина, а затем нажмите на СОХРАНИТЬ. Бывший -- https:///oauth/обратный вызов
Получить секрет клиента: Теперь нам нужно получить секретный ключ клиента. Поэтому выберите... Наши клиенты Выберите учетные данные и скопируйте свой секрет отсюда.
Конфигурация плагина: Введите скопировано
Секрет клиента недооценивают ее Секрет клиента в поле плагина ASP.NET OAuth введите следующее: Имя клиента в поле «Идентификатор клиента».
Добавить пользователя: Нам необходимо добавить в Realm пользователей, которые смогут получить доступ к ресурсам Realm. Нажмите на кнопку. Пользователи и выбрать Добавить нового пользователя.
Конфигурация пользователя: После создания пользователя необходимо выполнить над ним следующее действие.
1) Установите пароль для него, поэтому нажмите на
Полномочия
и установить новый пароль для пользователя.
ПРИМЕЧАНИЕ: Отключение функции «Временный пароль» сделает пароль пользователя постоянным.
Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь.
Сопоставление ролей и назначить пользователю желаемую роль из доступных ролей, нажав на соответствующую кнопку. добавить выбранное.
Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения того, какие пользователи будут иметь право доступа к приложению. Нажмите на кнопку. роли и выберите Добавить Роли.
Шаг 2.1: Шаги для получения групп Keycloak
Создать группы: Нажмите на Группы и выбрать Новое чтобы создать новую группу.
Назначить пользователя в группу: Выберите пользователя, которого хотите добавить в группу. На вкладке «Группы» выберите пункт «Группы», затем выберите название группы и нажмите на него. присоединиться.
Групповой картограф Keycloak: Чтобы получить сведения о группе, нам необходимо выполнить сопоставление клиента с членством в группе, иначе сведения о группе не будут получены. Таким образом, в Клиентский разделВыберите своего клиента, а затем нажмите на картограф->создать.
Теперь выберите тип картографа as Членство в группах и введите
имя и имя заявки на токен То есть имя атрибута, соответствующее группам, которые будут получены. Отключите параметры «Полный путь к группе», «Добавить в токен ID» и «Добавить в токен доступа», а затем нажмите на кнопку. Сохранено.
Примечание: — Если полный путь указан в пути к группе, будет получен путь к группе, в противном случае будет получено имя группы.
Шаг 2.2: Шаги для получения ролей Keycloak
Сопоставитель ролей Keycloak: Чтобы получить подробную информацию о роли, нам необходимо выполнить сопоставление клиента с членством в роли, иначе информация о роли не будет получена. Таким образом, в Клиентский разделВыберите своего клиента, а затем нажмите на картограф->создать.
Теперь выберите тип картографа as роль области пользователя Вступите в члены организации и получите доступ к ней. имя. и имя заявки на токен То есть имя атрибута, соответствующее группам, которые будут получены. Добавьте в параметры ID-токена и Access-токена, затем нажмите на кнопку. Сохранено.
Добавить область: Теперь войдите в консоль администрирования Keycloak и перейдите к нужному вам домену. Добавить новый домен можно, выбрав соответствующий пункт.
Создать Царство опцию.
Создать область: Enter Имя области И сохраните имя области аутентификации, так как оно понадобится позже для настройки области аутентификации в плагине OAuth Client. Нажмите на СОЗДАТЬ для добавления области.
Создать клиент OpenID: Нажмите на
Наши клиенты , а затем выбрать Создать клиента Для создания нового клиента введите идентификатор клиента и выберите протокол клиента.
openid-connect и нажмите Следующая.
Включите Аутентификация клиента и Авторизация переключения.
Прокрутите вниз до Настройки доступа и введите свой
URL обратного вызова/перенаправления
который вы получите из плагина miniOrange, расположенного на стороне клиента в разделе URL-адреса обратного вызова текстовое поле.
Перейдите на сайт Полномочия вкладку, скопируйте Секрет клиента И держите его под рукой, так как он понадобится нам позже при настройке плагина ASP.NET OAuth Single Sign-On.
Конфигурация плагина: Введите скопировано Секрет клиента недооценивают ее
Секрет клиента в поле плагина ASP.NET OAuth введите следующее:
идентификатор клиента под идентификатор клиента поле.
Добавить пользователя: Нам необходимо добавить в Realm пользователей, которые смогут получить доступ к ресурсам Realm. Нажмите на кнопку. Пользователи и нажмите на
Создать нового пользователя для добавления нового пользователя.
Конфигурация пользователя: После создания пользователя необходимо выполнить над ним следующее действие.
1) Установите пароль для него, поэтому нажмите на
Полномочия
и установить новый пароль для пользователя.
ПРИМЕЧАНИЕ: Отключение функции «Временный пароль» сделает пароль пользователя постоянным.
Пользователь карты: Нам нужно сопоставить пользователя с ролью. Нажмите здесь.
Сопоставление ролей и назначить пользователю желаемую роль из числа доступных ролей.
Создать РОЛЬ: Роль будет использоваться вашими приложениями для определения того, какие пользователи будут иметь право доступа к приложению. Нажмите на кнопку. роли , а затем выбрать Создать роль.
3. Настройка клиента miniOrange ASP.NET OAuth
После настройки вашего OAuth-провайдера вам будет предоставлена следующая информация:
Идентификатор клиента, секретный ключ клиента, конечная точка авторизации, конечная точка токена доступа
и Получить конечную точку информации о пользователеНастройте эти значения в соответствующих полях.
Заполните все необходимые данные и нажмите кнопку. Сохранить конфигурацию.
4. Тестовая конфигурация
После сохранения настроек нажмите на кнопку.
Тестовая конфигурация Нажмите кнопку, чтобы проверить правильность настройки.
После успешной настройки вы получите Имя атрибута и
Значения атрибутов В окне «Конфигурация теста». На скриншоте ниже показан успешный результат.
5. Сопоставление атрибутов
Сопоставьте имена атрибутов, предоставленные вашим OAuth-сервером, с атрибутами вашего ASP.NET-приложения, указанными в разделе «Сопоставление атрибутов». Нажмите на соответствующую кнопку.
Сохранить сопоставление атрибутов.
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
6. Интеграционный код
Вы можете найти код интеграции На вкладке «Код интеграции» в коннекторе просто скопируйте и вставьте этот фрагмент кода туда, где вы хотите получить доступ к атрибутам пользователя.
7. Добавьте следующую ссылку в ваше приложение для единого входа (SSO):
Используйте следующий URL-адрес в качестве ссылки в вашем приложении, откуда вы хотите выполнить единый вход (SSO): http://base-url/?ssoaction=login
Например, вы можете использовать его как: <a href="http://base-url/?ssoaction=login”>Log in</a>"
Модуль единого входа (SSO) ASP.NET SAML 2.0 можно настроить с любым поставщиком идентификации, таким как ADFS, Azure AD, Bitium, Centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 или даже с собственным пользовательским поставщиком идентификации.
Если вы не получите от нас ответа в течение 24 часов, пожалуйста, отправьте нам повторное письмо по адресу [адрес электронной почты]. info@xecurify.com
Запрос не выполнен.
Пожалуйста, попробуйте отправить электронное письмо по адресу... info@xecurify.com