Quick Microservices Keycloak - qm-keycloak
utilities to work with a Keycloak server and managing authentication and authorization
GitHub repository ⏺ Cargo package ⏺ Docs
Description
With this crate it is easy to get a Keycloak configuration with the most common settings. It also provides token management and session handling as well as Keycloak configuration validation.
Usage
let keycloak_config = new?;
The Config is populated with environment variables. By default, all variables with the prefix
KEYCLOAK_ are considered.
The prefix can be changed by using a builder pattern.
let example_config = builder.with_prefix.build?;
Variables and Defaults
These variables are available and are set with the following defaults.
| variable | struct field | default |
|---|---|---|
| KEYCLOAK_REALM | realm | "rmp" |
| KEYCLOAK_CLIENT_ID | client_id | "spa" |
| KEYCLOAK_USERNAME | username | "admin" |
| KEYCLOAK_PASSWORD | password | "admin" |
| KEYCLOAK_THEME | theme | "qm" |
| KEYCLOAK_EMAIL_THEME | email_theme | "qm" |
| KEYCLOAK_REALM_ADMIN_EMAIL | realm_admin_email | "admin@test.local" |
| KEYCLOAK_REALM_ADMIN_USERNAME | realm_admin_username | "admin" |
| KEYCLOAK_REALM_ADMIN_PASSWORD | realm_admin_password | "Admin123!" |
| KEYCLOAK_PORT | port | 42210 |
| KEYCLOAK_HOST | host | "127.0.0.1" |
| KEYCLOAK_ADDRESS | address | http://{host}:{port}/ |
| KEYCLOAK_PUBLIC_URL | public_url | "http://127.0.0.1:80" |
| KEYCLOAK_SMTP_REPLY_TO_DISPLAY_NAME | smtp_reply_to_display_name | |
| KEYCLOAK_SMTP_STARTTLS | smtp_starttls | false |
| KEYCLOAK_SMTP_PORT | smtp_port | 1025 |
| KEYCLOAK_SMTP_HOST | smtp_host | "smtp" |
| KEYCLOAK_SMTP_REPLY_TO | smtp_reply_to | |
| KEYCLOAK_SMTP_FROM | smtp_from | "noreply@test.local" |
| KEYCLOAK_SMTP_FROM_DISPLAY_NAME | smtp_from_display_name | |
| KEYCLOAK_SMTP_SSL | smtp_ssl | false |
| KEYCLOAK_BROWSER_FLOW | browser_flow | "browser" |
| KEYCLOAK_AUTHENTICATOR_EMAIL_SUBJECT | authenticator_email_subject | "Temporary Authentication Code" |