Blazor SAML Single Sign-On (SSO)
Наше приложение позволяет включить единый вход SAML для ваших приложений Blazor. Используя единый вход, вы можете использовать только один пароль для доступа к вашему приложению и сервисам Blazor. Наше приложение совместимо со всеми поставщиками идентификации, поддерживающими SAML. Здесь мы рассмотрим пошаговое руководство по настройке единого входа (SSO) между Blazor и PingFederate, рассматривая PingFederate в качестве поставщика идентификации. Чтобы узнать больше о функциях, которые мы предоставляем для SSO Blazor, нажмите здесь.
здесь.
Поддержка платформы: Приложение Blazor SAML поддерживает ASP.NET Core 2.0 и выше. Оно поддерживает все платформы Blazor, включая Windows, Linux и macOS.
Шаги по настройке единого входа (SSO) в Blazor с использованием PingFederate в качестве поставщика идентификационных данных (IDP).
Шаг 1: Предварительные условия: Загрузка и установка
- Установите промежуточное ПО Blazor SAML SSO в пакет вашего приложения, используя пакет NuGet.
using miniorange.saml
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
}
}
using Microsoft.AspNetCore.Authentication.Cookies;
using miniOrange.saml;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
var app = builder.Build();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseStaticFiles();
app.UseminiOrangeSAMLSSOMiddleware();
app.Run();
app.useantiforgery();
-
После интеграции откройте браузер и перейдите на панель управления коннектором по указанному ниже URL-адресу:
https://<blazor-application-base-url>/?ssoaction=config
-
Если появляется страница регистрации или страница входа в систему, значит, вы успешно добавили коннектор miniOrange ASP.NET SAML SSO в свое приложение.
-
Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрировать филиал кнопка для настройки приложения.
2. Настройте PingFederate в качестве поставщика идентификационных данных.
-
Под Плагин Настройки вкладка, выберите ПингФедерация в качестве поставщика идентификационных данных из представленного списка.
Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.
A] Использование URL-адреса метаданных SAML или файла метаданных:
-
В Меню настроек плагина, искать
Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
-
Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
B] Загрузка метаданных вручную:
-
Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например:
Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода.
и поделитесь им со своим поставщиком идентификационных данных для настройки.
- Вы можете ознакомиться с приведенным ниже скриншотом:
- Войдите в панель администратора пользователя Ping Federate.
-
Нажмите на Поставщик удостоверений в левом навигационном меню.
-
Под SP-СОЕДИНЕНИЕ, нажмите на
Создать новый .
-
Выберите Профили единого входа браузера шаблон подключения на Тип соединения вкладку и нажмите
Следующая.
-
Выберите «Единый вход через браузер» Параметры подключения вкладку и нажмите
Следующая.
-
Выберите Файл в качестве метода импорта метаданных и кликов Выбирайте файл для выбора метаданных плагина miniOrange SSO Импорт метаданных Вкладка. Нажмите
Следующая.
-
Ознакомьтесь с информацией на Сводка метаданных нажмите и перейдите по вкладке Следующая.
-
В Вкладка «Общая информация» убедитесь, что
Идентификатор организации поставщика услуг, имя подключения и
Базовый URL Поля заполняются автоматически на основе метаданных. Нажмите Следующая.
-
Перейдите в Единый вход в браузере и нажмите
Настройка единого входа в браузереВы будете перенаправлены на мастер настройки единого входа в браузере.
-
Выберите Единый вход, инициированный поставщиком удостоверений и
SSO, инициированный SP варианты на Профили SAML вкладку и нажмите
Следующая.
-
Введите желаемый срок действия утверждения в соответствующем поле.
Срок действия утверждения вкладку и нажмите СледующаяПо умолчанию он настроен. 5 минут для обоих.
-
Перейдите в раздел «Создание утверждений» и нажмите «Настроить создание утверждений». Вы будете перенаправлены на мастер настройки создания утверждений.
- На вкладке «Сопоставление идентификаторов» выберите STANDARD и нажмите «Далее».
-
Выберите формат имени субъекта для поля SAML_SUBJECT.
Атрибутный контракт Нажмите клавишу Tab и затем «Далее».
-
В разделе «Сопоставление источников аутентификации» нажмите кнопку «Сопоставить новый экземпляр адаптера».
-
Выберите Экземпляр адаптера и нажмите
СледующаяАдаптер должен содержать адрес электронной почты пользователя.
-
Выберите
Используйте только значения контракта адаптера в утверждении SAML. вариант на Метод картирования вкладку и нажмите
Следующая.
-
Выберите экземпляр вашего адаптера в качестве...
Источник и электронная почта как Значение
на Выполнение контракта атрибутов нажмите и перейдите по вкладке Следующая.
-
(Необязательно) Выберите любые условия авторизации, которые вы хотели бы установить.
Критерии выдачи вкладку и нажмите
Следующая.
- Нажмите Готово на Резюме.
-
Нажмите Следующая на
Сопоставление источников аутентификации меню.
- Нажмите Готово на вкладке «Сводка».
-
Нажмите Следующая на
Создание утверждения
-
Перейдите на вкладку «Настройки протокола» мастера настройки единого входа в браузере и нажмите «Настроить параметры протокола».
-
Выберите POST для Переплет и указать единый вход в систему. URL конечной точки в поле «URL-адрес конечной точки»
URL-адрес службы поддержки потребителей утверждений Нажмите
Следующая.
-
Выберите POST на
Допустимые привязки SAML вкладку и нажмите
Следующая.
-
Выберите желаемые политики подписи для утверждений в
Политика подписи вкладку и нажмите Следующая.
-
Выберите желаемую политику шифрования для утверждений на
Политика шифрования вкладку и нажмите Следующая.
-
Нажмите Готово на
Сводка настроек протокола меню.
-
Перейдите в Полномочия и нажмите на
Настройка учетных данных. Вы будете перенаправлены на
Полномочия Мастер установки.
-
Выберите сертификат подписи, который будет использоваться со службой единого входа (SSO), и выберите «Включить сертификат в элемент подписи» на вкладке «Настройки цифровой подписи». Нажмите «Готово».
- Нажмите Готово на Резюме.
-
Нажмите Следующая на Полномочия.
-
Выберите Активных для
Состояние подключения на
Активация и резюме вкладку и нажмите
Сохранено.
-
Теперь перейдите в панель управления администратора федеративных пользователей Ping → Поставщик идентификационных данных.
-
Нажмите Управлять всем недооценивают ее SP-соединения.
-
Нажмите Экспорт метаданных для подключения к нужному поставщику услуг.
-
Нажмите Экспортировать на
Экспорт и резюме вкладку и нажмите
Готово.
3. Настройте приложение Blazer SAML в качестве поставщика услуг.
Ниже описаны два способа настройки метаданных поставщика идентификации SAML в приложении.
A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
-
Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в приложении, используя...
Загрузка метаданных IDP опцию.
- Вы можете ознакомиться с приведенным ниже скриншотом:
-
Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
B] Настройте метаданные поставщика идентификации вручную:
-
После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и
Сертификат SAML X509 поля соответственно.
- Нажмите Сохранено чтобы сохранить данные вашего IDP.
4. Тестирование SAML SSO
-
Нажмите на Тестовая конфигурация Нажмите кнопку, чтобы проверить правильность выполненной вами настройки SAML.
-
На скриншоте ниже показан успешный результат. Нажмите на
SSO интеграция для дальнейшего продолжения интеграции SSO.
-
Если в приложении возникнет ошибка, вы увидите окно, похожее на показанное ниже.
- Для устранения ошибки выполните следующие действия:
-
Под
Устранение неполадок
Вкладка, включите переключатель, чтобы получать журналы плагина.
-
После включения вы сможете получать журналы плагина, перейдя по адресу...
Плагин Настройки вкладку и нажав на Тестовая конфигурация.
-
Скачать журнальный файл из Устранение неполадок Нажмите вкладку, чтобы посмотреть, что пошло не так.
-
Вы можете поделиться журнальный файл с нами в
aspnetsupport@xecurify.com
Наша команда свяжется с вами, чтобы решить вашу проблему.
5. Сопоставление атрибутов
-
После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
-
В бесплатном плагине можно настроить только NameID.
-
Примечание: Все сопоставленные атрибуты будут храниться в утверждениях, чтобы вы могли получить к ним доступ в своем приложении..
6. Интеграционный код
-
Эти шаги позволяют получить информацию о пользователях SSO в вашем приложении в виде пользовательских утверждений.
-
Вы также можете посмотреть установка тура чтобы понять, как будет работать интеграция SSO в вашем приложении Blazor.
-
Просто скопируйте и вставьте этот фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
-
Примечание:В пробной версии промежуточное ПО поддерживает только информацию о пользователе в утверждениях; получение информации о пользователе в сессии и заголовках доступно в платном плагине.
- Вы также можете скопировать код интеграции, приведенный ниже:
string name="";
string claimtype="";
string claimvalue="";
if(User.Identity.IsAuthenticated)
{
foreach( var claim in User.Claims)
{
claimtype = claim.Type;
claimvalue = claim.Value;
}
var identity = (ClaimsIdentity)User.Identity;
IEnumerable claims = identity.Claims;
string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
}
Примечание: Все сопоставленные атрибуты будут храниться в утверждениях, к которым будет осуществляться доступ в вашем приложении.
Если вам нужна помощь по вопросам интеграции, свяжитесь с нами по адресу [адрес электронной почты].
aspnetsupport@xecurify.com
7. Настройки входа в систему
- Наведите указатель мыши на Выберите действия и нажмите на Скопировать ссылку SSO.
-
Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
https://blazor-application-base-url/?ssoaction=login
-
Например, вы можете использовать его следующим образом:
<a href=”https://blazor-application-base-url/?ssoaction=login”>Log
in</a>
8. Настройки выхода из системы
-
Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO:
https://blazor-application-base-url/?ssoaction=logout
-
Например, вы можете использовать его следующим образом:
<a href=”https://blazor-application-base-url/?ssoaction=logout”>Log
out</a>
Для настройки поставщика идентификации (IDP) метаданные поставщика услуг можно найти в файле appsetting.json. Метаданные поставщика услуг (SP) см. на скриншоте ниже:
С миниоранжевый В разделе скопируйте spentityid, acsurl и предоставьте их команде вашего поставщика идентификационных данных.
-
После настройки метаданных поставщика услуг на стороне IdP вам будет предоставлен файл метаданных IdP, URL-адрес метаданных или URL-адреса метаданных, такие как идентификатор сущности IdP, URL-адрес SSO IdP и т. д.
-
Для настройки метаданных вашего IDP перейдите по следующему пути:
appsettings.json В файле miniorange вы найдете следующие настройки в разделе JSON.
-
Для непосредственной настройки вашего IDP перейдите по следующему пути:
appsettings.json .
-
Настройте необходимые метаданные и сохраните параметры.
| idp_cert |
Введите сертификат IDP в это поле. |
| ссорл |
Введите URL-адрес SSO в это поле. |
| idp_issuer |
Введите название эмитента IDP в это поле. |
Отображение атрибутов
-
Сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификационных данных (IDP).
-
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
Интеграционный код
-
Просто скопируйте и вставьте фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
-
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
string name="";
string claimtype="";
string claimvalue="";
if(User.Identity.IsAuthenticated) {
name= User.Identity.Name;
foreach( var claim in User.Claims) {
claimtype = claim.Type;
claimValue = claim.Value;
}
}
Приложение Blazor SAML 2.0 Single Sign-On (SSO) можно настроить с использованием любого поставщика идентификации, например,
ADFS, Microsoft Entra ID (ранее 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 или даже собственный поставщик идентификации.Проверьте список поставщиков идентификационных данных.
здесь.
Дополнительные ресурсы
Нужна помощь?
Не можете найти своего поставщика идентификационных данных? Напишите нам по адресу...
aspnetsupport@xecurify.com
Мы поможем вам настроить единый вход (SSO) с вашим поставщиком идентификации (IDP), а также предоставим оперативные рекомендации (по электронной почте/на встрече) по вашим требованиям. Наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.