45 releases
0.0.51 | Apr 9, 2025 |
---|---|
0.0.50 | Mar 24, 2025 |
0.0.49 | Feb 26, 2025 |
0.0.39 | Nov 25, 2024 |
0.0.13 | Mar 28, 2024 |
#837 in Authentication
535 downloads per month
Used in 3 crates
185KB
4.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_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" |
Dependencies
~28–49MB
~825K SLoC