Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d30221119 | |||
| 52cc594f69 | |||
| 49a450a6fa | |||
| f10617f646 | |||
| 4bbe881285 |
@@ -0,0 +1,74 @@
|
|||||||
|
# SimpleIdP
|
||||||
|
|
||||||
|
Self-hosted OAuth 2.0 / OpenID Connect identity provider built with ASP.NET Core 8.0 and SimpleIdServer.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- OAuth 2.0 Authorization Code flow with PKCE support
|
||||||
|
- OpenID Connect authentication
|
||||||
|
- Multiple authentication methods:
|
||||||
|
- Password-based
|
||||||
|
- SMS-based
|
||||||
|
- OTP (One-Time Password)
|
||||||
|
- WebAuthn (FIDO2)
|
||||||
|
- Mobile-based
|
||||||
|
- Email-based
|
||||||
|
- Console-based
|
||||||
|
- Verifiable Presentations
|
||||||
|
- Multi-realm support
|
||||||
|
- User management with roles and claims
|
||||||
|
- Client management with configurable redirect URIs
|
||||||
|
- Refresh tokens with configurable expiration
|
||||||
|
- Consent management
|
||||||
|
|
||||||
|
## Technology Stack
|
||||||
|
|
||||||
|
- **Framework**: .NET 8.0
|
||||||
|
- **Identity Server**: SimpleIdServer 6.0.*-*
|
||||||
|
- **UI**: Razor Pages
|
||||||
|
- **Container**: Docker (multi-stage build)
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Configuration is loaded from JSON files in the `config/` directory:
|
||||||
|
|
||||||
|
- `users.json` - User definitions (username, password, email, roles, claims, consents)
|
||||||
|
- `clients.json` - OAuth 2.0 client definitions
|
||||||
|
- `realm.json` - Realm configuration
|
||||||
|
- `scopes.json` - Available scopes and claim mappers
|
||||||
|
- `api.json` - API resource definitions
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
### Run Locally
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dotnet run
|
||||||
|
```
|
||||||
|
|
||||||
|
The server starts on:
|
||||||
|
- HTTPS: `https://localhost:65455`
|
||||||
|
- HTTP: `http://localhost:65456`
|
||||||
|
|
||||||
|
### Run in Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t simpleidp .
|
||||||
|
docker run -p 8080:8080 simpleidp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Default Credentials
|
||||||
|
|
||||||
|
The default user is defined in `config/users.json`:
|
||||||
|
|
||||||
|
- Username: `administrator`
|
||||||
|
- Password: `password`
|
||||||
|
- Email: `adm@mail.com`
|
||||||
|
|
||||||
|
## Docker Hub
|
||||||
|
|
||||||
|
Image: `mareklesko/simpleidp`
|
||||||
|
|
||||||
|
## CI/CD
|
||||||
|
|
||||||
|
GitLab CI pipeline builds and pushes Docker images on `dev` and `main` branches.
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# simpleidp
|
||||||
|
|
||||||
|
Self-hosted OAuth 2.0 / OpenID Connect identity provider built with ASP.NET Core 8.0 and SimpleIdServer.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- OAuth 2.0 Authorization Code flow with PKCE support
|
||||||
|
- OpenID Connect authentication
|
||||||
|
- Multiple authentication methods (password, SMS, OTP, WebAuthn, mobile, email, console, verifiable presentations)
|
||||||
|
- Multi-realm support
|
||||||
|
- User management with roles and claims
|
||||||
|
- Client management with configurable redirect URIs
|
||||||
|
- Refresh tokens with configurable expiration
|
||||||
|
- Consent management
|
||||||
|
|
||||||
|
## Technology Stack
|
||||||
|
|
||||||
|
- **Framework**: .NET 8.0
|
||||||
|
- **Identity Server**: SimpleIdServer 6.0.*-*
|
||||||
|
- **UI**: Razor Pages
|
||||||
|
- **Container**: Docker (multi-stage build)
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
### Run Locally
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dotnet run
|
||||||
|
```
|
||||||
|
|
||||||
|
The server starts on:
|
||||||
|
- HTTPS: `https://localhost:65455`
|
||||||
|
- HTTP: `http://localhost:65456`
|
||||||
|
|
||||||
|
### Run in Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t simpleidp .
|
||||||
|
docker run -p 8080:8080 simpleidp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Configuration is loaded from JSON files in the `config/` directory:
|
||||||
|
|
||||||
|
- `users.json` - User definitions (username, password, email, roles, claims, consents)
|
||||||
|
- `clients.json` - OAuth 2.0 client definitions
|
||||||
|
- `realm.json` - Realm configuration
|
||||||
|
- `scopes.json` - Available scopes and claim mappers
|
||||||
|
- `api.json` - API resource definitions
|
||||||
|
|
||||||
|
## Default Credentials
|
||||||
|
|
||||||
|
- **Username**: `administrator`
|
||||||
|
- **Password**: `password`
|
||||||
|
- **Email**: `adm@mail.com`
|
||||||
|
|
||||||
|
## Docker Hub
|
||||||
|
|
||||||
|
Image: `mareklesko/simpleidp`
|
||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.1.175" />
|
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.1.175" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="config\idp-config.json">
|
<Content Update="config\idp-config.json">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user