SAML2Core 1.1.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SAML2Core --version 1.1.3
NuGet\Install-Package SAML2Core -Version 1.1.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SAML2Core" Version="1.1.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SAML2Core --version 1.1.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SAML2Core, 1.1.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SAML2Core as a Cake Addin #addin nuget:?package=SAML2Core&version=1.1.3 // Install SAML2Core as a Cake Tool #tool nuget:?package=SAML2Core&version=1.1.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Usage
- Modify
ConfigureServices()
in Startup.cs
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddSamlCore(options =>
{
// SignOutPath (REQUIRED) - The endpoint for the idp to perform its signout action
options.SignOutPath = "/signedout";
// EntityId (REQUIRED) - The Relying Party Identifier e.g. https://my.la.gov.local
options.ServiceProvider.EntityId = Configuration["AppConfiguration:ServiceProvider:EntityId"];
// There are two ways to provide FederationMetadata
// Option 1 - A FederationMetadata.xml already exists for your application
// options.MetadataAddress = @"FederationMetadata.xml";
// Option 2 - Have the middleware generate the FederationMetadata.xml file for you
options.MetadataAddress = Configuration["AppConfiguration:IdentityProvider:MetadataAddress"];
// Have the middleware create the metadata file for you
// The default is false. If you don't want a file generated by the middleware, comment the line below.
options.CreateMetadataFile = true;
// If you want to specify the filename and path for the generated metadata file do so below:
//options.DefaultMetadataFileName = "MyMetadataFilename"; //the default is "Metadata".
//options.DefaultMetadataFolderLocation = "MyPath"; //the default is "wwwroot" so it can be accessible via https://[host name]/MyMetadataFilename.xml.
//************************************************************************************************************
// The following section is if your application (SP) has a certificate and is signing the Authn Request with it.
//************************************************************************************************************
// Certificate (REQUIRED) if you want you application (SP) to sign the authentication request (AuthnRequest)
// The certificate serial number value.
// PRE-REQUISITE: Install your certificate in your server/local certificate store under the Trusted Root folder.
// The middleware searches by default by serial number in the Trusted Root folder. This can be changed by:
// options.ServiceProvider.CertificateStoreName = StoreName.Root;
// options.ServiceProvider.CertificateStoreLocation = StoreLocation.LocalMachine
// options.ServiceProvider.CertificateStoreLocation.HashAlgorithm = HashAlgorithmName.SHA256
options.ServiceProvider.SigningCertificateX509TypeValue = Configuration["AppConfiguration:ServiceProvider:CertificateSerialNumber"]; //your certifcate serial number (default type which can be chnaged by ) that is in your certficate store
// For signed AuthnRequest - if you want the search for the Sp certificate by somethign else other than SerialNumber. The default is serial number.
//options.ServiceProvider.CertificateIdentifierType = X509FindType.FindBySerialNumber; // the default is 'X509FindType.FindBySerialNumber'. Change value of 'options.ServiceProvider.SigningCertificateX509TypeValue' if this changes
//************************************************************
// Force Authentication (optional) - if you are requiring users to log into the Idp every time. Default is set to true
options.ForceAuthn = true;
// Service Provider Properties (optional) - These set the appropriate tags in the metadata.xml file
options.ServiceProvider.ApplicationProductionURL = "https://my.la.gov"; // this will create a production signin endpoint on the Idp side. This will be used when deployed to your production site
options.ServiceProvider.ApplicationStageURL = "https://dev.my.la.gov"; //this will create a stage signin endpoint on the Idp side. This will be used when deployed to your stage site
options.ServiceProvider.ServiceName = "My Test Site";
options.ServiceProvider.Language = "en-US";
options.ServiceProvider.OrganizationDisplayName = "Louisiana State Government";
options.ServiceProvider.OrganizationName = "Louisiana State Government";
options.ServiceProvider.OrganizationURL = "https://my.test.site.gov";
options.ServiceProvider.ContactPerson = new ContactType()
{
Company = "Louisiana State Government - OTS",
GivenName = "Dina Heidar",
EmailAddress = new[] { "dina.heidar@la.gov" },
contactType = ContactTypeType.technical,
TelephoneNumber = new[] { "+1 234 5678" }
};
// Events - Modify events below if you want to log errors, add custom claims, etc.
//options.Events.OnRemoteFailure = context =>
//{
//TODO: do whatever you want here if you need to re-direct to somewhere if there
// an error from provider
// context.Response.Redirect(new PathString("/Account/Login"));
context.HandleResponse();
// return Task.FromResult(0);
//};
//options.Events.OnTicketReceived = context =>
//{
//TODO: add custom claims here
// var identity = (ClaimsIdentity)context.Principal.Identity;
// identity.RemoveClaim(identity.FindFirst(ClaimTypes.Name)); //remove the screen name to add full name
// identity.AddClaim(new Claim(ClaimTypes.Name, context.User["name"].ToString()));
// return Task.FromResult(0);
//};
})
.AddCookie();
- Modify
Configure()
in Startup.cs
Don't forget to add the following line in Configure()
app.UseAuthentication();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.AspNetCore.Authentication (>= 2.1.1)
- Microsoft.AspNetCore.Authentication.Cookies (>= 2.1.1)
- Microsoft.IdentityModel.Protocols (>= 5.2.4)
- Microsoft.IdentityModel.Tokens.Saml (>= 5.2.4)
- Microsoft.IdentityModel.Xml (>= 5.2.4)
- System.Security.Cryptography.Xml (>= 4.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
3.1.3 | 39,305 | 1/28/2021 | |
3.1.0 | 21,920 | 2/28/2020 | |
3.0.0 | 716 | 1/27/2020 | |
2.0.6 | 10,103 | 6/10/2019 | |
2.0.4 | 635 | 6/8/2019 | |
2.0.3 | 612 | 6/6/2019 | |
2.0.2 | 627 | 6/6/2019 | |
1.1.7 | 964 | 12/17/2018 | |
1.1.6 | 741 | 12/14/2018 | |
1.1.4 | 698 | 12/13/2018 | |
1.1.3 | 713 | 11/21/2018 | |
1.1.2 | 734 | 11/20/2018 | |
1.1.1 | 718 | 11/20/2018 | |
1.0.9 | 702 | 11/16/2018 | |
1.0.8 | 749 | 11/16/2018 |