Skip to content
This repository has been archived by the owner on Dec 3, 2020. It is now read-only.

TheMagnificent11/identity-server-admin

Repository files navigation

identity-server-admin

The aim of this project is to provide administrative features for IdentityServer (https://www.identityserver.com/).

While IdentityServer is free, the administrative client costs several hundred dollars per year for the "starter" package (https://www.identityserver.com/products/).

Build Status

Build status

Soltuion Architecture

The IdentityServer ASP.Net Core website is a standard Identity Server configured using the step in this tutorial: http://docs.identityserver.io/en/latest/quickstarts/7_entity_framework.html. It has an MS SQL Server database, and connects to it via Entity Framework Core.

The IdentityServer.Admin ASP.Net Core website is an API website that has been configured as a client of the IdentityServer. However, it share the same data access layer and can use the same database contexts to read and write data.

The idea is that other client sites can obtain a token from IdentityServer and use that token to call IdentityServer.Admin to manage users, clients and their associated claims.

Getting started

  1. Clone this repository
  2. Using a command console in the root directory of the solution, run the following commands
    • dotnet restore
    • dotnet build --no-restore
  3. Navigate to IdentityServer directory in a command console and run the following commands
    • dotnet user-secrets set ConnectionStrings:DefaultConnection "[connection string to MS SQL Server database]"
    • dotnet user-secrets set AdminClient:ApiName [Admin API Client Name]
    • dotnet user-secrets set AdminClient:ClientId [Admin API Client ID]
    • dotnet user-secrets set AdminClient:ClientSecret [Admin API Client Secret]
    • dotnet run
  4. Navigate to IdentityServer.Admin directory in a second command console and run the following commands
    • dotnet user-secrets set ConnectionStrings:DefaultConnection "[same value as Step 3.1]"
    • dotnet user-secrets set AuthServer:Audience [same value as step 3.2]
    • dotnet run
  5. TODO: explain how to use the C# client