Руководства по настройке единого входа SAML в ASP.NET Core
×
Для приложений, созданных на платформе .NET Framework, подробные пошаговые инструкции можно найти здесь .
Выберите поставщика идентификации SAML для настройки единого входа (SSO).
Не можете найти свой поставщик идентификации (IdP)? Свяжитесь с нами по адресу aspnetsupport@xecurify.com , и мы поможем вам быстро настроить единый вход ASP.NET Core с вашим поставщиком идентификации.
Не удалось найти ваш поставщик идентификации (IdP)?
Напишите нам по адресу aspnetsupport@xecurify.com , и мы поможем вам быстро настроить единый вход (SSO) ASP.NET Core с вашим поставщиком идентификации (IdP).
Примечание: Для интеграции промежуточного ПО miniOrange ASP.NET SAML SSO в ваше приложение вам потребуется добавить в проект следующие пространства имен, сервисы и промежуточное ПО (отмечены зеленым цветом). Ниже приведен пример.
using miniOrange.saml; using System.Reflection; public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration {get;} // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); services.AddminiOrangeServices(Assembly.GetExecutingAssembly()); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseCookiePolicy(); app.UseAuthentication(); #if NET9_0_OR_GREATER app.MapStaticAssets(); #else app.UseStaticFiles(); #endif app.UseminiOrangeSAMLSSOMiddleware(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); } }
using miniOrange.saml;using System.Reflection;var builder=WebApplication.CreateBuilder(args); // Add services to the container. 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(); #if NET9_0_OR_GREATER app.MapStaticAssets(); #else app.UseStaticFiles(); #endif app.UseminiOrangeSAMLSSOMiddleware(); app.Run();
1. Добавьте промежуточное ПО в приложение ASP.NET Core.
После интеграции откройте браузер и перейдите на панель управления коннектором по указанному ниже URL-адресу: https://<asp.net-core-application-base-url>/?ssoaction=config
Если появляется страница регистрации или страница входа в систему, значит, вы успешно добавили в свое приложение промежуточное ПО аутентификации miniOrange ASP.NET Core SAML.
Зарегистрируйтесь или войдите в свою учетную запись, нажав на кнопку. Зарегистрировать филиал кнопка для настройки промежуточного программного обеспечения.
2. Настройте поставщика идентификации.
Под Плагин Настройки На вкладке выберите своего поставщика идентификации из показанного списка.
Ниже описаны два способа получения метаданных SAML SP для настройки на стороне вашего поставщика идентификации.
A] Использование URL-адреса метаданных SAML или файла метаданных:
В Меню настроек плагина, искать
Настройки поставщика услугНиже вы найдете URL-адрес метаданных, а также возможность загрузки метаданных SAML.
Скопируйте URL-адрес метаданных или загрузите файл метаданных, чтобы настроить его на стороне вашего поставщика идентификации.
Вы можете ознакомиться с приведенным ниже скриншотом:
B] Загрузка метаданных вручную:
Из издания Настройки поставщика услуг В этом разделе вы можете вручную скопировать метаданные поставщика услуг, например:
Идентификатор сущности SP, URL-адрес ACS, URL-адрес единого выхода.
и поделитесь им со своим поставщиком идентификационных данных для настройки.
Вы можете ознакомиться с приведенным ниже скриншотом:
3. Настройте промежуточное ПО ASP.NET Core SAML в качестве поставщика услуг.
Ниже описаны два способа настройки метаданных поставщика идентификации SAML в промежуточном программном обеспечении.
A] Загрузите метаданные, используя кнопку «Загрузить метаданные IDP»:
Если ваш поставщик идентификационных данных предоставил вам URL-адрес метаданных или файл метаданных (только в формате .xml), то вы можете просто настроить метаданные поставщика идентификационных данных в промежуточном ПО, используя следующий код:
Загрузка метаданных IDP опцию.
Вы можете ознакомиться с приведенным ниже скриншотом:
Вы можете выбрать любой из вариантов в зависимости от доступного вам формата метаданных.
После настройки вашего Поставщик удостоверений, это предоставит вам Идентификатор сущности IDP, URL-адрес единого входа IDP и
Сертификат SAML X509 поля соответственно.
Нажмите Сохранено чтобы сохранить данные вашего IDP.
4. Тестирование SAML SSO
Нажмите на Тестовая конфигурация Нажмите кнопку, чтобы проверить правильность выполненной вами настройки SAML.
На скриншоте ниже показан успешный результат. Нажмите на
SSO интеграция для дальнейшего продолжения интеграции SSO.
Если на стороне промежуточного программного обеспечения возникнет ошибка, вы увидите окно, похожее на приведенное ниже.
Для устранения ошибки выполните следующие действия:
Под
Устранение неполадок
Вкладка, включите переключатель, чтобы получать журналы плагина.
После включения вы сможете получать журналы плагина, перейдя по адресу...
Плагин Настройки вкладку и нажав на Тестовая конфигурация.
Скачать журнальный файл из Устранение неполадок Нажмите вкладку, чтобы посмотреть, что пошло не так.
Вы можете поделиться журнальный файл с нами в
aspnetsupport@xecurify.com
Наша команда свяжется с вами, чтобы решить вашу проблему.
5. Сопоставление атрибутов
После проверки конфигурации сопоставьте атрибуты вашего приложения с атрибутами поставщика идентификации (IdP).
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
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;
} //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP) var identity = (ClaimsIdentity)User.Identity; IEnumerable claims = identity.Claims; string mobileNumber = identity.FindFirst("mobileNumber")?.Value;
}
Примечание: Все сопоставленные атрибуты будут храниться в утверждениях, к которым будет осуществляться доступ в вашем приложении.
Если вам нужна помощь по вопросам интеграции, свяжитесь с нами по адресу [адрес электронной почты].
aspnetsupport@xecurify.com
7. Настройки входа в систему
Используйте следующий URL-адрес в качестве ссылки в приложении, из которого вы хотите выполнить единый вход (SSO):
https://base-url/?ssoaction=login
Например, вы можете использовать его следующим образом: <a href=”https://base-url/?ssoaction=login”>Log
in</a>
8. Настройки выхода из системы
Используйте следующий URL-адрес в качестве ссылки на ваше приложение, из которого вы хотите выполнить SLO: https://base-url/?ssoaction=logout
Например, вы можете использовать его следующим образом: <a href=”https://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).
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
Интеграционный код
Просто скопируйте и вставьте фрагмент кода туда, где вам нужно получить доступ к атрибутам пользователя.
Примечание: Все сопоставленные атрибуты будут сохранены в сессии, чтобы вы могли получить к ним доступ в своем приложении.
Вы можете настроить промежуточное ПО ASP.NET Core SAML Single Sign-On (SSO) с любым поставщиком идентификации, таким как 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 или даже с вашим собственным пользовательским поставщиком идентификации . Список поставщиков идентификации можно посмотреть здесь.
Не можете найти своего поставщика идентификационных данных? Напишите нам по адресу aspnetsupport@xecurify.com , и мы поможем вам настроить единый вход (SSO) с вашим поставщиком идентификационных данных. Для получения быстрой консультации (по электронной почте/на встрече) по вашим требованиям наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.
Привет!
Нужна помощь? Мы здесь!
Обратитесь в службу поддержки miniOrange.
Благодарим Вас за запрос.
Если вы не получите от нас ответа в течение 24 часов, пожалуйста, отправьте нам повторное письмо по адресу [адрес электронной почты]. info@xecurify.com
Запрос не выполнен.
Пожалуйста, попробуйте отправить электронное письмо по адресу... info@xecurify.com