# 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 : ```yaml - 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 : * [x] `authorization_code` flow * [x] Client authentication using secrets * [x] Bruteforce protection * [ ] 2 factors authentication * [x] TOTP (authenticator app) * [ ] Using a security key * [ ] Fully responsive webui * [ ] `robots.txt` file to prevent indexing ## Compiling You will need the Rust toolchain to compile this project. To build it for production, just run: ```bash 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 :)