Crates.io | qm-keycloak |
lib.rs | qm-keycloak |
version | 0.0.60 |
created_at | 2024-03-14 11:56:27.391272+00 |
updated_at | 2025-08-11 12:14:50.140073+00 |
description | Keycloak helper functions |
homepage | |
repository | https://github.com/hd-gmbh-dev/quick-microservice-rs |
max_upload_size | |
id | 1173300 |
size | 246,073 |
qm-keycloak
utilities 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" |