Keycloak vs PWM
Keycloak
keycloak.orgPWM
github.comSide by side
| Figure | Keycloak | PWM |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Self-Service Password Reset Software | 8.0 (#6) | 7.3 (#11) |
| Deployment | The downloads page provides a server distribution, a container image for Docker, Podman, Kubernetes, and OpenShift, and an operator for Kubernetes and OpenShift. | PWM is distributed as a Java WAR, an executable Java JAR with embedded Tomcat, or a Docker image. |
| Purpose | Keycloak adds authentication to applications and secure services, so they do not need to store or authenticate users themselves. | PWM is an open source password self-service application for LDAP directories. |
| Support | The project recommends Red Hat build of Keycloak for users who cannot regularly upgrade and need long-term support for specific versions. | The project asks users to seek assistance through the PWM-General Google Group and says question-only GitHub issues will be deleted. |
Plans
In their own words
PWM
PWM is a free, open-source password self-service application for LDAP directories. Its web configuration manager exposes more than 500 settings and lets administrators import or export configuration as one file. During password changes, rules are enforced while users type and password-strength feedback is shown. Forgotten-password verification can use email or SMS tokens, TOTP, remote REST, OAuth, or LDAP attributes. Listed directory support includes Generic LDAP, 389 Directory Server, NetIQ eDirectory, Microsoft Active Directory, and OpenLDAP. Authentication options include Basic Authentication, HTTP-header username injection, CAS, and OAuth client single sign-on. REST APIs cover password setting, recovery, policy reading and verification, and user-attribute updates. PWM is distributed as a Java WAR, an executable Java JAR with embedded Tomcat, or a Docker image. The version table lists Java 17 for PWM 2.1 and Java 11–17 for PWM 2.0. Configurable policies include syntax and regex rules, dictionary enforcement, remote REST checks, and shared password history. The listed plan is free.