SimpleIdServer is an open source framework enabling the support of OPENID, OAUTH2.0, SCIM2.0, UMA2.0, FAPI and CIBA. It streamlines development, configuration and deployment of custom access control servers.Thanks to its modularity and extensibility, SimpleIdServer can be customized to the specific needs of your organization for authentication, authorization and more.
Website,Documentation andDemo.
Install SimpleIdServer templates.
dotnet new --install SimpleIdServer.Templates
This will add the following templates
Command line | Description |
---|---|
dotnet new idserver | Create Identity Server. By default, Entity Framework is configured to use SQLServer |
dotnet new idserverwebsite | Create Identity Server website. By default, Entity Framework is configured to use SQLServer |
dotnet new scim | Create SCIM Server. |
dotnet new credissuer | Create credential issuer API. |
dotnet new credissueradminui | Create credential issuer administration UI. |
Open a command prompt and execute the following commands to create the directory structure for the solution.
mkdir Quickstartcd Quickstartmkdir srcdotnet new sln -n Quickstart
To create a web project namedIdServer
with theSimpleIdServer.IdServer
package installed, execute the command line :
cd srcdotnet new idserver -n IdServer
The following files will be created within a newsrc/IdServer
directory :
IdServer.csproj
: Project file with theSimpleIdServer.IdServer
NuGet package added.appsettings.json
: Contains the ConnectionString.Program.cs
: Main application entry point.IdServerConfiguration.cs
: Contains theClients
,Resources
.
Next, add theIdServer
project into the Visual Studio Solution
cd ..dotnet sln add ./src/IdServer/IdServer.csproj
Run the IdServer project, ensuring that it listens on the URLhttps://localhost:5001
.
cd src/IdServerdotnet run --urls=https://localhost:5001
The IdentityServer is now ready to be used.
By default, there is one administrator account configured. You can access their profile by navigating to the URLhttps://localhost:5001/master
and authenticate using the following credentials :
- Login : administrator
- Password : password
The IdentityServer UI uses Bootstrap 5.
create a web project namedIdServerWebsite
with theSimpleIdServer.IdServer.Website
package installed, execute the command line :
cd srcdotnet new idserverwebsite -n IdServerWebsite
Run theIdServerWebsite
project, it must listens on the urlhttps://localhost:5002
.
cd src/IdServerWebsitedotnet run --urls=https://localhost:5002
The IdentityServer website is now ready to be used.
The website can be used to manage all aspects of an Identity Server solution, such as managing clients, users, and scopes.
The IdentityServer website UI uses Radzen.
By default SCIM is configured to use API KEY authentication.For clients to perform any operation, they must include one of those keys in theHTTP HEADER Authorization Bearer
field.
Owner | Value |
---|---|
IdServer | ba521b3b-02f7-4a37-b03c-58f713bf88e7 |
AzureAd | 1595a72a-2804-495d-8a8a-2c861e7a736a |
Create a web project namedScimEF
with theSimpleIdServer.Scim.Persistence.EF
package installed and Entity Framework (EF) configured to use SQLServer, execute the command line :
cd srcdotnet new scim -n ScimEF --connectionString "Data Source=.;Initial Catalog=SCIM;Integrated Security=True;TrustServerCertificate=True" -t "SQLSERVER"
Next, add theScimEF
project into the Visual Studio Solution
cd ..dotnet sln add ./src/ScimEF/ScimEF.csproj
Run the ScimEF project, ensuring that it listens on the URLhttps://localhost:5003
.
cd src/SCIMEFdotnet run --urls=https://localhost:5003
Now that the SCIM server is running, you can check its Schemas endpoint by accessinghttps://localhost:5003/Schemas.
To create a web project named ScimMongoDB with the SimpleIdServer.Scim.Persistence.MongoDB package installed and MongoDB support, execute the command line :
cd srcdotnet new scim -n ScimMongoDB --connectionString "mongodb://localhost:27017" -t "MONGODB"
Next, add theScimMongoDB
project into the Visual Studio Solution
cd ..dotnet sln add ./src/ScimMongoDB/ScimMongoDB.csproj
Run the ScimMongoDB project, ensuring that it listens on the URLhttps://localhost:5003
.
cd src/ScimMongoDBdotnet run --urls=https://localhost:5003
Now that the SCIM server is running, you can check its Schemas endpoint by accessinghttps://localhost:5003/Schemas.
To create a web project namedCredentialIssuer
with theSimpleIdServer.CredentialIssuer
package installed, execute the command line :
cd srcdotnet new credissuer -n CredentialIssuer
The following files will be created within a newsrc/CredentialIssuer
directory :
CredentialIssuer.csproj
: Project file with theSimpleIdServer.CredentialIssuer
NuGet package added.appsettings.json
: Contains the properties to configure the Openid authentication, such as the ClientId, ClientSecret and Issuer.Program.cs
: Main application entry point.CredentialIssuerConfiguration.cs
: Contains theCredentialConfigurations
.
Run the CredentialIssuer project, ensuring that it listens on the URLhttps://localhost:5005
.
cd src/IdServerdotnet run --urls=https://localhost:5005
The CredentialIssuer is now ready to be used.
The CredentialIssuer UI uses Bootstrap 5.
To create a web project namedCredentialIssuerAdminui
with theSimpleIdServer.CredentialIssuer.Website
package installed, execute the command line :
cd srcdotnet new credissueradminui -n CredentialIssuerAdminui
Run theCredentialIssuerAdminui
project, it must listens on the urlhttps://localhost:5006
.
cd src/IdServerWebsitedotnet run --urls=https://localhost:5006
The credential issuer administration ui is now ready to be used.
The website can be used to manage the credential configurations.
The CredentialIssuer website UI uses Radzen.
To execute all the projects in Docker, execute the following commands :
psake dockerBuildpsake dockerUp
Please readCONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
To contact the team, you can send an email toagentsimpleidserver@gmail.com
or share your ideas in gitter.im.The invitation link ishttps://app.gitter.im/#/room/#simpleidserver:gitter.im
PinnedLoading
- SimpleIdServer
SimpleIdServer PublicOpenID, OAuth 2.0, SCIM2.0, UMA2.0, FAPI, CIBA & OPENBANKING Framework for ASP.NET Core
If the problem persists, check theGitHub status page orcontact support.