This is a solution template for creating a Single Page App (SPA) with Angular 13 + .NET 6.0 + IdentityServer4 (Authorization Code Flow + PKCE)
-
Ensure that you have valid Data Source (current: ".\SQLEXPRESS") in ConnectionString (appsettings.json) in following projects: Insig.Api, Insig.Infrastructure, Insig.IdentityServer, Insig.Integration.Tests
-
Run database migrations ("dotnet ef database update") in following projects: Insig.Infrastructure, Insig.IdentityServer
-
Download npm packages ("npm install") in Insig.Web
-
Build scripts ("ng build --aot") in Insig.Web
-
Set startup projects:
- Insig.IdentityServer
- Insig.Api
- Insig.Web
- Rebuild solution and start application
Authorization Project:
- .NET 6.0
- IdentityServer4
- Authorization Code Flow + PKCE
- Database - Microsoft SQL Server
- Email verification (after registering)
- Phone number verification (in Manage Account)
API Project:
- .NET 6.0
- CQRS + Dispatcher
- Custom Query Builder for Dapper
- Prepared for Domain-driven design
- IoC Container Autofac
- Database - Microsoft SQL Server
Angular Project:
- .NET 6.0
- Angular 13
- Authorization (oidc-client.js)
- Silent refresh
- Angular Material
- Toasts
- Directive for input validation errors
- Secured API calls (Encoding URI)
Other:
- Domain tests
- Integration API tests
- Serilog
- HTTP security headers