- ASP.NET Core 3.1
- Latest ASP.NET Core Identity
- Bootstrap 4 UI
- Localization en-US, de-DE, it-IT, fr-FR, zh-Hans, de-CH, gsw-CH
- 2FA
- TOTP
- FIDO2 MFA
- Personal data, download, delete (part of Identity)
- Azure AD, Cert, key vault deployments API
- SendGrid Email API
- npm with bundleconfig used for frontend packages
- EF Core
- Support for ui_locales using OIDC logins
some print screens:
it-IT
de-DE
en-US
fr-FR
zh-Hans
From NuGet:
dotnet new -i IdentityServer4AspNetCoreIdentityTemplate
Locally built nupkg:
dotnet new -i IdentityServer4AspNetCoreIdentityTemplate.4.0.1.nupkg
Local folder:
dotnet new -i <PATH>
Where <PATH>
is the path to the folder containing .template.config.
dotnet new sts -n YourCompany.Sts
Use the -n
or --name
parameter to change the name of the output created. This string is also used to substitute the namespace name in the .cs file for the project.
- Change the EF Core code from SQLite to your required database
- Change the ApplicationUser class as required, remove/add the properties
- Add the migrations and create the database
- Define the deployment URLs, create the certs, and use these in your application (Startup, config files)
- Add the external providers for login as required, or remove
- Remove the UI views which are not required
- Add remove the resource file localizations and also in the Startup.
- Add the client configuration to the Config.cs class (dev, test, staging, prod, or whatever)
- Update the claims in the IdentityWithAdditionalClaimsProfileService
- Add the security headers as required, CSP, IFrame, XSS, HSTS, ...
- If you deploy in a multi instance environment, add the session data to a database using the IdentityServer4.EntityFramework NuGet package
dotnet new -u IdentityServer4AspNetCoreIdentityTemplate
https://docs.microsoft.com/en-us/dotnet/core/tutorials/create-custom-template
nuget pack content/IdentityServer4AspNetCoreIdentityTemplate.nuspec
dotnet restore
dotnet ef migrations add sts_init --context ApplicationDbContext --verbose
dotnet ef database update --verbose
New-SelfSignedCertificate -DnsName "sts.dev.cert.com", "sts.dev.cert.com" -CertStoreLocation "cert:\LocalMachine\My"
$mypwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText
Get-ChildItem -Path cert:\localMachine\my\"The thumbprint..." | Export-PfxCertificate -FilePath C:\git\sts_dev_cert.pfx -Password $mypwd
- IdentityServer4
- IdentityServer4.AspNetIdentity
- Microsoft.Azure.KeyVault
- Microsoft.IdentityModel.Clients.ActiveDirectory
- Sendgrid
- NWebsec.AspNetCore.Middleware
- Serilog
http://docs.identityserver.io/en/release/