A minimal SAML 2.0 client library for adding single-sign-on to ASP.NET applications.
AspNetSaml is a lightweight SAML 2.0 consumer library for ASP.NET applications that enables single-sign-on integration with SAML identity providers. It provides a simple way to redirect users to SAML providers for authentication and validate the responses they send back. The library solves the problem of implementing SAML SSO without requiring complex configuration or external dependencies.
ASP.NET developers who need to add SAML-based single-sign-on to their applications, particularly those working with enterprise identity providers like Okta, Azure AD, or other SAML-compliant systems.
Developers choose AspNetSaml for its extreme simplicity and minimal footprint—it's a single small file with no dependencies. Unlike larger authentication frameworks, it focuses specifically on SAML consumer functionality without unnecessary complexity.
Very simple SAML 2.0 consumer module for ASP.NET/C#
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Single .NET Standard 2.0 file of ~11KB with no external libraries, reducing deployment complexity and attack surface, as highlighted in the README.
Works seamlessly with both ASP.NET Core and legacy ASP.NET Framework, with code examples provided for both environments in the README.
Built-in methods like GetEmail() and GetFirstName() make it easy to retrieve common user data from SAML responses without parsing XML manually.
Straightforward IsValid() method for SAML response validation, demonstrated in clear, concise code snippets for quick integration.
Focuses only on basic authentication flow; lacks advanced SAML capabilities such as Single Logout (SLO) or complex assertion handling, which might be needed for enterprise scenarios.
Requires developers to manually handle SAML certificates and endpoints, increasing setup effort and potential for misconfiguration, as seen in the example code.
Minimal built-in error reporting; developers must implement custom exception handling for issues like missing attributes, as indicated by the try-catch block in the README.
Does not provide out-of-the-box integration with ASP.NET Core's authentication middleware; sign-in must be coded manually, adding boilerplate as shown in the examples.