Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

.NET Core

Sustainsys.Saml2

The Sustainsys.Saml2 library adds SAML2P support to ASP.NET web sites, allowing the web site to act as a SAML2 Service Provider (SP). The library was previously named Kentor.AuthServices.

Documentation

Usage documentation is available at our documentation site.

There are samples in the v1 and v2 branches. Newer samples are available in the samples repo.

Commercial Options and a Sustainable model for Open Source

When I started the Sustainsys company, the idea was to try to find a sustainable model for open source work. Maintaining an open source library takes time. The issue and PR list and constantly requires work to keep it clean (I've not always succeeded, I know). Bug reports by e-mail of possible security vulnerabilities need to be evaluated and handled - even if they often turn out to be incorrect. Any pull request - especially for a security library - need to be carefully evaluated to make sure it works and doesn't break any existing behaviour. All of this takes time and my idea was to create commercial options that were attractive enough to fund actual working time on the library. It has partly succeeded, but not to the extent that I can spend the time I want on the library. If you are using the Sustainsys.Saml2 package in a larger organisation, please sign up for a commercial support package (mail to support@sustainsys.com for options). That will give your organisation support - and also support maintenance and development of the library.

Branches

There are three active branches in the repo.

  • main is the version in active development (currently v3) that only supports Asp.Net Core.
  • v1 is a supported version that uses the System.IdentityModel library for token handling and supports HttpModule, Mvc, Owin and AspNetCore2 (only on full. Net Framework). This branch will only receive security fixes or critical compatibility fixes for major browsers.
  • v2 is a supported version that uses the Microsoft.IdentityModel nuget packages for tokeng handling, multi-targets and supports HttpModule, Mvc, Owin and AspNetCore2. This branch will only receive security fixes or critical compatibility fixes for major browsers. Exceptions for new features can also be done for paying customers with support contracts.
  • master is deprecated and only kept around to ensure all old links pointing to it works.

Development

The current development goals are to get a new, more flexible architecture.

  • Reading XML is done with more strict validation, but found errors can be suppressed.
  • Use the Asp.Net Core RemoteAuthenticationHandler as a base class.
  • Better support for the AspNet Core configuration system.
  • Federations will be an own Authentication handler type (builder.AddSaml2 vs builder.AddSaml2Federation).

Sustainsys.Saml2 is open sourced and contributions are welcome, please see contribution guidelines for info on coding standards etc.

About

Saml2 Authentication services for ASP.NET

Resources

Contributing

Security policy

Stars

1.0k stars

Watchers

74 watching

Forks

Releases

Packages

Used by

Contributors

Languages