OAuth2 and OpenID Connect implementation.
- EspoCRM: Utilizes the EspoCRM system as it's password and user managment system
- Local: Utilizes the local database as it's password and user managment system
Requirments:
-
Server
- Rust compiler, Cargo
- Docker
-
Frontend
- Node >= 22
- Yarn
-
Start everything with
make dev
This will:
- Create an OIDC signing key if it doesn't exist
- Copy
sample_config.json
toconfig.json
- Start the server and the frontend
The following services will be available:
After starting, you should configure an API-client in EspoCRM:
- Log in with EspoCRM here. Your username and password are
admin
- In the top right, select the three dots > Administration
- Select Roles > Create Role
- Give it a name, e.g.
admin
- Set
User permission
toall
- Scroll down to
Users
, set toenabled
- Select
Save
- In Administration again, go to
API Users
> Create API User - Give it a name, e.g.
wilford
- Select the role you just created under
Roles
- Set
Authentication method
toHMAC
and selectSave
- Copy the
API Key
andSecret Key
toconfig.json
- Restart Wilford
docker-compose down
make up
When using make dev
, this is done automatically.
# Private key
openssl genrsa -out ./oidc.pem 4096
# Public key
openssl rsa -in ./oidc.pem -pubout -outform PEM -out ./oidc.pem.pub
MIT or Apache-2.0, at your option