Which Setup Guide Should You Follow for Your Application?
If your application is built on the .NET Core,.NET 5,or later versions please follow the detailed guide provided below.
However, if your application is based on .NET Framework, we have a separate set of guides tailored specifically for these platforms. You can find out more about our Setup Guides by clicking on .NET Setup Guides Button.
Note: To integrate the miniOrange ASP.NET SAML SSO middleware in your application, you will be required to add the below namespaces, services and middleware in your project (marked in green), below here is a sample example
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(); app.UseStaticFiles(); 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(); app.UseStaticFiles(); app.UseminiOrangeSAMLSSOMiddleware(); app.Run();
1. Add middleware on ASP.NET Core application
After integration, open your browser and browse the connector dashboard with
the URL below: https://<asp.net-core-application-base-url>/?ssoaction=config
If the registration page or login page pops up, you have successfully added the miniOrange ASP.NET Core SAML middleware authentication to your application.
Register or log in with your account by clicking the Register button
to configure the middleware.
2. Configure your identity provider
Under the Plugin Settings tab, select your identity provider from
the list shown.
There are two ways detailed below with which you can get the SAML SP
metadata to configure onto your identity provider end.
A] Using SAML metadata URL or metadata file:
In the Plugin Settings menu, look for
Service Provider Settings. Under that, you can find the metadata
URL as well as the option to download the SAML metadata.
Copy metadata URL or download the metadata file to configure the same on
your identity provider end.
You may refer to the screenshot below:
B] Uploading metadata manually:
From the Service Provider Settings section, you can manually copy
the service provider metadata like
SP Entity ID, ACS URL, Single Logout URL
and share it with your identity provider for configuration.
You may refer to the screenshot below:
3. Configure ASP.NET Core SAML Middleware as Service Provider
There are two ways detailed below with which you can configure your SAML
identity provider metadata in the middleware.
A] Upload metadata using the Upload IDP Metadata button:
If your identity provider has provided you with the metadata URL or
metadata file (.xml format only), then you can simply configure the
identity provider metadata in the middleware using the
Upload IDP Metadata option.
You may refer to the screenshot below:
You can choose any one of the options according to the metadata format
you have available.
B] Configure the identity provider metadata manually:
After configuring your Identity Provider, it will provide you
with IDP Entity ID, IDP Single Sign On URL and
SAML X509 Certificate fields respectively.
Click Save to save your IDP details.
4. Testing SAML SSO
Click on the Test Configuration button to test whether the SAML
Configuration you’ve done is correct.
The screenshot below shows a successful result. Click on
SSO Integration to further continue with the SSO Integration.
If you are experiencing any error on the middleware end you’ll be shown with
the window similar to below.
To troubleshoot the error you can follow the below steps:
Under
Troubleshoot
tab, enable the toggle to receive the plugin logs.
Once enabled, you will be able to retrieve plugin logs by navigating
to
Plugin Settings tab and clicking on Test Configuration.
Download the log file from the Troubleshoot tab to see
what went wrong.
You can share the log file with us at
aspnetsupport@xecurify.com
and our team will reach out to you to resolve your issue.
5. Attribute Mapping
After testing the configuration, Map your application attributes with
the Identity Provider (IdP) attributes.
Note: All the mapped attributes will be stored in the session so
that you can access them in your application.
6. Integration Code
This steps allow you to retrieve the SSO user information in your application in the form of user claims.
You can also look the setup tour to understand how the SSO integration would work in your Blazor application.
Just copy-paste that code snippet wherever you want to access the user
attributes.
Note:This trial middleware only supports user information in claims, retrieving user information in session and headers is available in the premium plugin
You can also copy the integration code from below:
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;
}
Note: All the mapped attributes will be stored in the claims to be accessed in your application.
If you want some assistance regarding the integration code, get in touch
with us at
aspnetsupport@xecurify.com
7. Login Settings
Use the following URL as a link in the application from where you want
to perform SSO:
https://base-url/?ssoaction=login
For example, you can use it as: <a href=”https://base-url/?ssoaction=login”>Log
in</a>
8. Logout Settings
Use the following URL as a link to your application from where you want
to perform SLO: https://base-url/?ssoaction=logout
For example, you can use it as: <a href=”https://base-url/?ssoaction=logout”>Log
out</a>
To configure your IDP, you can find the service provider's metadata in
appsetting.json file. For SP metadata, you can refer to the screenshot
below:
From miniOrange section, copy spentityid, acsurl and provide it to
your identity provider's team.
Once the service provider's metadata is configured on the IdP end,
you'll be provided with the IdP metadata file or metadata URL or
metadata URLs like IdP Entity Id, IdP SSO URL etc.
To configure your IDP metadata, navigate to
appsettings.json file. You will find the following settings in
the miniorange's JSON section
To configure your IDP directly, navigate to
appsettings.json file.
Configure the appropriate provided metadata and save the settings.
idp_cert
Enter the IDP certificate against this field
ssourl
Enter the SSO URL against this field
idp_issuer
Enter the IDP Issuer against this field
Attribute Mapping
Map your application attributes with the identity provider (IDP)
attributes.
Note: All the mapped attributes will be stored in the session so
that you can access them in your application.
Integration Code
Just copy-paste the code snippet wherever you want to access the user
attributes.
Note: All the mapped attributes will be stored in the session so
that you can access them in your application.
You can configure the
ASP.NET Core SAML Single Sign-On (SSO)
middleware with any identity provider such as
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 or even with your own
custom identity provider. Check the list of identity providers
here.
Not able to find your identity provider? Mail us on
aspnetsupport@xecurify.com
and we'll help you set up SSO with your IDP and for quick guidance (via
email/meeting) on your requirement and our team will help you to select the
best suitable solution/plan as per your requirement.
Hello there!
Need Help? We are right here!
Contact miniOrange Support
Thanks for your inquiry.
If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com