/IdentityServer

OAuth 2.0 Identity Server API for ASP.NET Core

Primary LanguageC#MIT LicenseMIT

IdentityServer

An OAuth 2.0 standard Identity Access Management (IAM) API for ASP.NET Core with JWT Bearer Token authentication.

Features

  1. User account registration (for admins)
  2. Authentication & Token refresh
  3. Password reset
  4. Account lockout for failure attempts
  5. Block/unblock user accounts
  6. Permissions & User groups
  7. View accounts, permissions and groups
  8. Manage user permissions and groups

Method1 - How to build (Boring)

  • Install the latest .NET Core 3.1 SDK
  • Install the MS SQL server Database
  • Install Git
  • Clone this repo
  • Go to Identity.API folder on cloned repo, and Run the project using dotnet run command
  • Project will be accessible under http://localhost:8080

Method2 - How to build (Easy)

  • Prerequisite - Docker + Docker compose on your Developer machine
  • Go to cloned repo root folder, and Run the project using docker-compose up -d --buid
  • This will spin-up MSSQL DB (on port 1433) + IdentityServer API (on port 8080) containers on your machine
  • Project will be accessible under http://localhost:8080

How to use

An API documentation can be found under http://localhost:8080/swagger url after the application is successfully run.

Sample user account

  • Admin account - username: identity.admin@gmail.com, password: Admin@#456

How to change DB password & API ruuning Ports -

  • Docker runnig - DB passowrd can be changed using .env file and default port mapping can be changed on docker-compose.yml file.
  • Non-docker - DB configurations & kestrel port mapping can be changed using appsettings.json or appsettings.Development.json file on the project based on the environment Development or Production.