The award-winning SAML library for ASP.NET Core allows you to quickly and securely add SAML SSO support to your application.
Successfully tested against ADFS, Microsoft Entra (Azure AD), Okta, Google, Salesforce, IdentityServer, OneLogin, Ping Identity, Shibboleth, Microsoft 365 and many more.
We also offer a SAML for ASP.NET library.
Alternatively, you can purchase both our SAML for ASP.NET and SAML for ASP.NET Core libraries together with our cost-effective SAML Suite.
The combination of the OpenID for ASP.NET Core and SAML libraries enables OpenID Connect (OIDC) clients to participate in SSO with SAML identity providers.
SAML for ASP.NET Core
SAML C# Example Projects to Help You
SAML ASP.NET Core projects written in C#, with full source code, are included.
The examples demonstrate:
- Acting as the SAML service provider (SP)
- Acting as the SAML identity provider (IdP)
- Service provider initiated SSO
- Identity provider initiated SSO
- Setting and retrieving SAML attributes
- SAML Logout
- SAML metadata creation and consumption
- ASP.NET Core Identity integration
High Level SAML API
Add SAML SSO functionality to your web application with just a few lines of code.
A high-level, configuration-driven SAML API hides the complexities of SAML SSO, making for a quick and easy implementation.
Configuration changes, including adding support for additional partner providers, can be made with zero code updates.
The SAML authentication handler provides SSO support for service provider applications. The SAML middleware provides SSO support for identity provider applications. The middleware approach means even fewer lines of code.
Initiating SSO from the SP
A SAML authn request is created and sent to the IdP.
// SP-initiated SSO.
await _samlServiceProvider.InitiateSsoAsync(partnerName, returnUrl);
Initiating SSO from the IdP
A SAML response is created and sent to the IdP.
// IdP-initiated SSO.
await _samlIdentityProvider.InitiateSsoAsync(partnerName, userName, attributes, relayState);
Receiving the SAML Response
A SAML response is received from the SP and processed.
// SP or IdP-initiated SSO.
var ssoResult = await _samlServiceProvider.ReceiveSsoAsync();
Low Level SAML API
A low-level API provides complete control and flexibility.
The low-level SAML API allows access to the SAML profiles, protocols, bindings, assertions and metadata. For most scenarios, the high-level SAML API provides all the control you need in a simpler interface. For situations where this isn’t enough, the low-level SAML API is available.
ASP.NET Core example projects are included demonstrating interoperability with:
The SAML library supports .NET Core 3.1, .NET 6.0 and above. All .NET Core platforms, including Windows, Linux and macOS, are supported.
For your assurance and convenience, the complete source code for the SAML library is available for purchase.
For consulting and implementation inquires, feel free to contact us at [email protected].
SAML v2.0 Specification Compliance
All SAML v2.0 profiles are fully supported, acting as either the identity provider or service provider.
- Web browser single sign-on (identity provider and service provider initiated)
- Single logout
- Artifact resolution
- Identity provider discovery
- Authentication, attribute and assertion query
- Name identifier management and mapping
All SAML v2.0 protocols are fully supported.
- Create, modify and access SAML protocol messages
- Serialize SAML messages to and from XML
- Generate and verify XML signatures on SAML messages
All SAML v2.0 bindings are fully supported.
- HTTP POST
- HTTP Redirect
- HTTP Artifact
- SAML URI
SAML v2.0 assertions are fully supported.
- Create, modify and access SAML assertions
- Serialize SAML assertions to and from XML
- Generate and verify XML signatures on SAML assertions
- Encrypt and decrypt SAML assertions, attributes and identifiers
SAML v2.0 metadata is fully supported.
- Create, modify and access all SAML metadata
- Serialize SAML metadata to and from XML
- Generate and verify XML signatures on SAML metadata
SAML for ASP.NET
SSO enable your ASP.NET applications with our easy to use SAML library.
The SAML library for ASP.NET is fully compliant with the SAML v2.0 specification.SAML for ASP.NET
The SAML Suite includes the SAML libraries for both ASP.NET and ASP.NET Core.
The SAML libraries are fully compliant with the SAML v2.0 specification.SAML Suite