59 releases
| 0.0.67 | Nov 27, 2025 |
|---|---|
| 0.0.65 | Oct 11, 2025 |
| 0.0.59 | Jul 30, 2025 |
| 0.0.50 | Mar 24, 2025 |
| 0.0.13 | Mar 28, 2024 |
#541 in Authentication
326 downloads per month
Used in 3 crates
200KB
5K
SLoC
Quick Microservices Keycloak - qm-keycloak
utilities to work with a Keycloak server and managing authentication and authorization
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 = qm::keycloak::KeycloakConfig::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 = qm::keycloak::KeycloakConfig::builder().with_prefix("EXAMPLE_").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 | "[email protected]" |
| 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 | "[email protected]" |
| 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" |
Dependencies
~46–68MB
~1M SLoC