OpenAM vs Keycloak

General Information

OpenAM Keycloak

Initial release

2008

2014

Maintainer

Open Identity Platform Community

Red Hat

Current version

16.0.4

26.4.7

Release and patches

Regular

Regular

Open Source

✅

✅

Programming Language

Java

Java

Supported Java version

11+ LTS

17+ LTS

License

CDDL

Apache License 2.0

Multiple languages supported

✅

✅

Single Sign On (SSO) and Federation

OpenAM Keycloak

Applications deployment behind an auth gateway

✅ doc

✅ doc

API gateway control

✅ doc

⛔️

Apache Web Server Policy Agent

✅ doc

⛔️

IIS Policy Agent

✅ doc

⛔️

J2EE Policy Agent (for Tomcat, Jetty, etc)

✅ doc

⛔️

OAuth 2.0/OIDC federation

✅ Google example

✅ GitHub example

SAMLv2 federation

✅ WordPress example

✅ doc

Authentication

Supported authentication methods:

Authentication method OpenAM Keycloak

Login and password authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_authentication-flows[doc]

Microsoft Active Directory authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_user-storage-federation[doc]

Authentication for demo access

✅ doc

⛔️

Adaptive authentication

✅ doc

⛔️

Authentication in an LDAPv3-compatible directory

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_user-storage-federation[doc]

Persistent cookie authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#enabling-remember-me[doc]

RDBMS authentication

✅ doc

✅ https://www.keycloak.org/server/db[doc]

Self-registration

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#con-user-registration_server_administration_guide[doc]

HTTP Header enrichment authentication

✅ doc

⛔️

Windows NT authentication

✅ doc

⛔️

OAuth 2.0/OIDC authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#con-oidc_server_administration_guide[doc]

Kerberos authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_kerberos[doc]

OIDC id_token authentication

✅ doc

⛔️

RADIUS authentication

✅ doc

⛔️

HOTP via SMS or email

✅ doc

⛔️

One time password with HOTP or TOTP authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#one-time-password-otp-policies[doc]

Custom scripted authentication provider

✅ doc

⛔️

SAMLv2 authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_saml[doc]

ReCaptcha

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#proc-enabling-recaptcha_server_administration_guide[doc]

QR-code authentication

✅ doc

⛔️

NTLM authentication

✅ doc

⛔️

Docker HTTP Basic Authentication

⛔️

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#docker-authentication-flow[doc]

HTTP Basic Authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#docker-authentication-flow[doc]

Recovery codes authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_recovery-codes[doc]

WebAuthn

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#webauthn_server_administration_guide[doc]

X509 certificate authentication

✅ doc

✅ https://www.keycloak.org/docs/latest/server_admin/index.html#_x509[doc]

Custom authentication provider

✅ doc

✅ doc

Isolation (realms)

Realm support for isolation of identities and authentication processes

OpenAM Keycloak

Realms support

✅ doc

✅ doc

Realm hierarchy

✅

⛔️

Interfaces

Interface OpenAM Keycloak

Administrator GUI

✅

✅

Admin REST API

✅

✅

Admin UI customization

⛔️

✅ https://www.keycloak.org/ui-customization/creating-your-own-console[doc]

Authentication GUI

✅

✅

Authentication GUI customization

✅ doc

✅ https://www.keycloak.org/guides#ui-customization[doc]

Authentication REST API

✅ doc

⛔️

Authentication XML-RPC API

✅ doc

⛔️

Authentication Sessions

OpenAM Keycloak

Stateful

Random session ID

JWT

Stateless

JWT

JWT

REST Security Token Service

✅

✅

SOAP Security Token Service

✅

⛔️

Identity Repositories

Repository type OpenAM Keycloak

LDAP (OpenDJ, OpenLDAP, etc.)

✅

✅

Active Directory

✅

✅

Apache Cassandra

✅

⛔️

MariaDB Server

✅

✅

Microsoft SQL Server

✅

✅

MySQL

✅

✅

Oracle Database

✅

✅

PostgreSQL

✅

✅

Flat file

✅

⛔️

Custom identity repository

✅ doc

✅ doc

Audit logging and Monitoring

OpenAM Keycloak

Audit Logging

✅ doc

✅ doc

HTTP-based Monitoring

✅ doc

✅ doc

SNMP Monitoring

✅ doc

⛔️

JMX Monitoring

✅ doc

⛔️