Skip to content

A PowerShell host running an IdentityServer5 in the background and allowing interactive modification of the identity servers config with powershell cmdlets

Notifications You must be signed in to change notification settings

wgross/IdentityShell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IdentityShell

is a experimentation environment/playground for OpenId Connect authorization based on IdentityServer5.

Technically it is a .Net5 console app displaying a powershell console to the user and also hosting an IdentityServer5 in the background. The powershell provides commandlets to manage the configuration of the IdentityServer.

Is also provides a Quickstart UI.

Configuration data is stored in memory only. (I've removed the Sqlite persistence with the upgrade to Identity Server V5 bacuse it diodn't contribute much to the goal of the project)

The powershell host is built with Microsoft.Powershell.SDK having the cmdlets implemented at from IdentityShell/Commands

An simple example of a client authentication configuration in IdentityShell console looks like this:

# define the protected assets
$apiScope = Set-IdentityApiScope -Name "api-access"
$apiResource = Set-IdentityApiResource -Name "http://my/api" -Scopes $apiScope.Name

# define the client allowed to access the assets
$clientSecret = New-IdentitySecret -Value ("secret"|sha256base64)
$client = Set-IdentityClient -ClientId "api-client" -AllowedGrantTypes "client_credentials" -ClientSecrets $clientSecret -AllowedScopes "api-access"

More examples can be found in IdentityShell/scripts.

Cloning the repository

IdentityServer5 itself isn't reference as a nuget package but as a submodule. This makes it easy to debug the inner workings of it if authorizatin problems occur.

git clone https://github.com/wgross/IdentityShell.git --recurse-submodules

Building

cd .\IdentityShell
dotnet build

Run the server

cd .\src\IdentityShell
dotnet run

The server creates empty databases on start by default at the projects root.

About

A PowerShell host running an IdentityServer5 in the background and allowing interactive modification of the identity servers config with powershell cmdlets

Topics

Resources

Stars

Watchers

Forks