| Crates.io | qm-keycloak |
| lib.rs | qm-keycloak |
| version | 0.0.62 |
| created_at | 2024-03-14 11:56:27.391272+00 |
| updated_at | 2025-09-17 18:40:19.059719+00 |
| description | Keycloak helper functions |
| homepage | |
| repository | https://github.com/hd-gmbh-dev/quick-microservice-rs |
| max_upload_size | |
| id | 1173300 |
| size | 245,264 |
qm-keycloakutilities to work with a Keycloak server and managing authentication and authorization
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.
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()?;
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" |