Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate
An ASP.NET Core 6.0 IdentityServer4 Identity Bootstrap 4 template with localization
https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate
2fa aspnet-core aspnetcore bootstrap4 certs fido2 identity identityserver4 identityserver4-identity-template localization mvc nuget sts
Last synced: about 2 months ago
JSON representation
An ASP.NET Core 6.0 IdentityServer4 Identity Bootstrap 4 template with localization
- Host: GitHub
- URL: https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate
- Owner: damienbod
- License: mit
- Created: 2018-08-27T09:21:26.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2022-12-08T15:08:25.000Z (about 2 years ago)
- Last Synced: 2024-10-30T21:04:21.209Z (about 2 months ago)
- Topics: 2fa, aspnet-core, aspnetcore, bootstrap4, certs, fido2, identity, identityserver4, identityserver4-identity-template, localization, mvc, nuget, sts
- Language: C#
- Homepage: https://www.nuget.org/packages/IdentityServer4AspNetCoreIdentityTemplate/
- Size: 6.01 MB
- Stars: 326
- Watchers: 28
- Forks: 64
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred-test - damienbod/IdentityServer4AspNetCoreIdentityTemplate - An ASP.NET Core 6.0 IdentityServer4 Identity Bootstrap 4 template with localization (C# #)
README
# An ASP.NET Core IdentityServer4 Identity Template with Bootstrap 4 and Localization
[![.NET](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/actions/workflows/dotnet.yml/badge.svg)](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/actions/workflows/dotnet.yml) [![NuGet Status](http://img.shields.io/nuget/v/IdentityServer4AspNetCoreIdentityTemplate.svg?style=flat-square)](https://www.nuget.org/packages/IdentityServer4AspNetCoreIdentityTemplate/) [Change log](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/master/Changelog.md)
## Features
- ASP.NET Core 6
- Latest ASP.NET Core Identity
- Bootstrap 4 UI
- Localization en-US, de-DE, it-IT, fr-FR, zh-Hans, es-MX, de-CH, ga-IE, 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 loginssome print screens:
it-IT
![it-IT](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/main/images/it-IT_template.png)
de-DE
![de-DE](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/main/images/de-DE_template.png)
en-US
![en-US](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/main/images/en-US_template.png)
fr-FR
![fr-FR](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/main/images/fr-FR_template.png)
zh-Hans
![zh-Hans](https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate/blob/main/images/zh-Hans_template.png)
## Using the template
### install
From NuGet:
```
dotnet new -i IdentityServer4AspNetCoreIdentityTemplate
```Locally built nupkg:
```
dotnet new -i IdentityServer4AspNetCoreIdentityTemplate.6.0.1.nupkg
```Local folder:
```
dotnet new -i
```Where `` is the path to the folder containing .template.config.
### run
```
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.
### Setup, Using the application for your System
- 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
- Add "AZURE_TENANT_ID": "your-tenandId" to the launch settings to test in VS with Azure Key Vault certificates### uninstall
```
dotnet new -u IdentityServer4AspNetCoreIdentityTemplate
```## Development
### build
https://docs.microsoft.com/en-us/dotnet/core/tutorials/create-custom-template
```
nuget pack content/IdentityServer4AspNetCoreIdentityTemplate.nuspec
```### dotnet Migrations
#### open the cmd in project folder:
```
dotnet restoredotnet ef migrations add sts_init --context ApplicationDbContext --verbose
dotnet ef database update --verbose
```## Using Powershell to create the self signed certs:
```
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
```## Credits, Used NuGet packages + ASP.NET Core 3.1 standard packages
- IdentityServer4
- IdentityServer4.AspNetIdentity
- Azure.Security.KeyVault.Secrets
- Microsoft.IdentityModel.Clients.ActiveDirectory
- Sendgrid
- NetEscapades.AspNetCore.SecurityHeaders
- Serilog## Links
http://docs.identityserver.io/en/release/
https://github.com/IdentityServer/IdentityServer4
https://getbootstrap.com/
https://nodejs.org/en/
https://www.npmjs.com/