This is one of the main module for SurveyShrike application. The user management is done by this micro service.
Identity server – This project uses the Identity server 4 In general identityServer4 is an OpenID Connect and OAuth 2.0 framework for ASP.NET Core.
It enables the following features in your applications:
-
Authentication as a Service - Centralized login logic and workflow for all of your applications (web, native, mobile, services). IdentityServer is an officially certified implementation of OpenID Connect.
-
Single Sign-on / Sign-out Single sign-on (and out) over multiple application types.
-
Access Control for APIs-
-
Issue access tokens for APIs for various types of clients, e.g. server to server, web applications, SPAs and native/mobile apps.
Clean Architecture – pplications that follow the Dependency Inversion Principle as well as the Domain-Driven Design (DDD) principles tend to arrive at a similar architecture. This architecture has gone by many names over the years. One of the first names was Hexagonal Architecture, followed by Ports-and-Adapters. More recently, it's been cited as the Onion Architecture or Clean Architecture.
Each layer communication diagram
Use these instructions to get the project up and running.
You will need the following tools:
- Visual Studio Code or Visual Studio 2019 (version 16.3 or later)
- .NET Core SDK 3
- Node.js (version 10 or later) with npm (version 6.11.3 or later)
Follow these steps to get your development environment set up:
-
Clone the repository
-
Open the command prompt to project root directory SurveyShrike-IdentityServer
dotnet restore
-
Next, build the solution by running:
dotnet build
-
Next, within the
SurveyShrike-IdentityServer
(root) directory, launch the identity server by running:dotnet run --project .\SurveyShrike-IdentityServer\SurveyShrike-IdentityServer.csproj
-
Once the server has started, within the navigate to http://localhost:5000/.well-known/openid-configuration, If it does not give error, We have successfully configured identity server.
- .NET Core 3
- ASP.NET Core 3
- Entity Framework Core 3
- SurveyShrike-IdentityServer - Actual identity server API's.
- SurveyShrike-IdentityServer.Application - It contains business-logic and types
- SurveyShrike-IdentityServer.Persistence - contains all external concerns
- SurveyShrike-IdentityServer.Domain- contains enterprise-wide logic and types