Basic OpenID Provider
Go to file
2022-04-20 09:35:57 +02:00
assets Administrators can remove two factor authentication 2022-04-19 17:14:05 +02:00
src Authentication using TOPT code is working 2022-04-20 09:35:57 +02:00
templates Request focus on first input on login page 2022-04-20 09:16:21 +02:00
.gitignore Automatically create admin on first start 2022-03-29 19:32:31 +02:00
build_docker_image.sh Add dockerfile 2022-04-15 22:09:26 +02:00
Cargo.lock Generate QrCode to enroll Authenticator App 2022-04-19 09:57:08 +02:00
Cargo.toml Generate QrCode to enroll Authenticator App 2022-04-19 09:57:08 +02:00
Dockerfile Add dockerfile 2022-04-15 22:09:26 +02:00
LICENSE Add README & LICENSE 2022-04-18 17:00:28 +02:00
README.md Update README 2022-04-18 17:17:02 +02:00
renovate.json Add renovate.json 2022-04-01 00:10:26 +00:00

Basic OIDC

Basic & lightweight OpenID provider, written in Rust using the Actix framework.

WARNING : This tool has not been audited, use it at your own risks!

BasicOIDC operates without any database, just with two files :

  • clients.yaml: a list of authorized relying parties.
  • users.json: a list of users, managed through a web UI.

You can configure a list of clients (Relying Parties) in a clients.yaml file with the following syntax :

- id: gitea
  name: Gitea
  description: Git with a cup of tea
  secret: TOP_SECRET
  redirect_uri: https://mygit.mywebsite.com/

On the first run, BasicOIDC will create a new administrator with credentials admin / admin. On first login you will have to change these default credentials.

In order to run BasicOIDC for development, you will need to create a least an empty clients.yaml file inside the storage directory.

Features :

  • authorization_code flow
  • Client authentication using secrets
  • Bruteforce protection
  • 2 factors authentication
    • TOTP
    • Using a security key
  • Fully responsive webui

Compiling

You will need the Rust toolchain to compile this project. To build it for production, just run:

cargo build --release

Contributing

If you wish to contribute to this software, feel free to send an email to contact@communiquons.org to get an account on my system, managed by BasicOIDC :)