The award-winning SAML for ASP.NET Core library plugs directly into your application enabling SAML service provider or identity provider support.
Successfully tested against ADFS, Azure AD, Facebook, Google, IdentityServer4, Office 365, Okta, OneLogin, Ping Identity, Salesforce, Shibboleth and many more.
SAML for ASP.NET Core
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 metadata creation and consumption
- ASP.NET Core Identity integration
High Level API
Add SSO functionality to your web application with just a few lines of code.
A high-level, configuration-driven 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 API
A low-level API provides complete control and flexibility.
The low-level API allows access to the SAML profiles, protocols, bindings, assertions and metadata. For most scenarios, the high-level API provides all the control you need in a simpler interface. For situations where this isn’t enough, the low-level API is available.
The SAML library supports .NET Core 3.1, .NET 5.0, .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 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 library.
The SAML for ASP.NET library is fully compliant with the SAML v2.0 specification.Learn more
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.Learn more