Приложение Blazor SAML Single Sign-On (SSO) позволяет включить единый вход SAML для ваших приложений Blazor. Используя единый вход, вы можете использовать только один пароль для доступа к вашему приложению и сервисам Blazor. Наше приложение совместимо со всеми поставщиками идентификации, поддерживающими SAML. Здесь мы рассмотрим пошаговое руководство по настройке единого входа (SSO) между Blazor и Auth0, рассматривая Auth0 в качестве поставщика идентификации. Чтобы узнать больше о функциях, которые мы предоставляем для Blazor SSO, нажмите здесь.
Поддержка платформы: Приложение Blazor SAML поддерживает ASP.NET Core 2.0 и выше. Оно поддерживает все платформы Blazor, включая Windows, Linux и macOS.
Шаги по настройке единого входа (SSO) Blazor с использованием Auth0 в качестве поставщика идентификационных данных (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 Blazor SAML SSO в свое приложение.
-
Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрировать филиал кнопка для настройки приложения.
2. Настройте Auth0 в качестве поставщика идентификации.
-
Под Плагин Настройки вкладка, выберите Авторизация0 в качестве поставщика идентификационных данных из представленного списка.
Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.
A] Использование URL-адреса метаданных SAML или файла метаданных:
-
В Меню настроек плагина, искать
Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
-
Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
- Вы можете ознакомиться с приведенным ниже скриншотом:
B] Загрузка метаданных вручную:
-
Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например:
Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода.
и поделитесь им со своим поставщиком идентификационных данных для настройки.
- Вы можете ознакомиться с приведенным ниже скриншотом:
-
Войти .
Панель управления Auth0.
- Нажмите на Приложения.
- Нажмите на Создать заявку.
-
Откроется новое окно. Введите название приложения и выберите
Обычное веб-приложение. Нажмите
СОЗДАТЬ .
- Выберите Дополнения меню.
-
Включите САМЛ2 Эта опция находится в разделе дополнений. Она откроет окно настроек.
-
Enter URL-адрес обратного вызова приложения, аудитория, получатель и другие настройки с использованием Идентификатор субъекта СП и
URL-адрес СКД скопировано из плагина, как показано ниже:
- Прокрутите вниз и нажмите на Сохранено.
-
Перейдите на сайт Применение и нажмите
Метаданные поставщика удостоверений Ссылка для скачивания. Она загрузит XML-файл метаданных, необходимый для настройки плагина SAML.
Вы успешно настроили Auth0 в качестве поставщика идентификации SAML (SAML IdP) для реализации единого входа SAML в Blazor.
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) см. на скриншоте ниже:
В разделе miniOrange скопируйте 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) с вашим поставщиком идентификационных данных. Для получения быстрой консультации (по электронной почте/на встрече) по вашим требованиям наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.