Keycloak Checklist
This is intended to be a comprehensive checklist of Keycloak configurations that
should be present to fully interoperate with the PDC service and external IdPs
as expected. It is intended to remind, not to detail setup of each item.
- Required action
.jarfile inprovidersdirectory (fromauthproject) - SMS 2FA
.jarfile inprovidersdirectory (fromauthproject) - Theme
.jarfile inprovidersdirectory (fromauthproject) - A realm matching the PDC service env vars (rest is part of this realm)
- Authn Required Actions includes “Update mobile number” enabled
- Browser authn flow includes “TOTP or SMS” after passphrase
- SMS Authentication step in Browser authn flow has an alias
- SMS Authentication step also has SenderId “Philanthropy Data Commons”
- Custom Login theme enabled (realm Themes)
- Custom Email theme enabled (realm Themes)
- Use
pdc-prefix on custom clients to distinguish from built-in clients pdc-openapi-docsclient (service API docs use this)pdc-admingrouppdc-adminrole assigned topdc-admingroup- The following (Client) roles assigned to the
pdc-admingroup:realm-managementmanage-usersrealm-managementview-usersrealm-managementquery-usersrealm-managementquery-groupsrealm-managementview-clientsrealm-managementcreate-clientrealm-managementmanage-clientsrealm-managementquery-clientsrealm-managementview-identity-providersrealm-managementmanage-identity-providersrealm-managementview-realmrealm-managementview-eventsrealm-managementview-organizationsrealm-managementmanage-organizationsrealm-managementquery-organizations
- At least one user assigned to
pdc-admingroup - Organizations enabled
- Admin Permissions enabled in realm (aka Fine-grained Admin Permissions)
- Email as username enabled (realm Login, assists IdP domain-name matching)
- Login with email enabled (realm Login, assists IdP domain-name matching)
- Browser authn flow includes organization elements
- Broker first login authn flow includes organization elements
organizationsClient scope withorganizationsmapper (for JWT)- Custom clients have
organizationsclient scope assigned as default- Except Exchange clients, assign as optional until this bug is fixed:
https://github.com/keycloak/keycloak/issues/50882
- Except Exchange clients, assign as optional until this bug is fixed:
- Forgot password link enabled (realm Login)
- Reset credentials flow requires existing 2FA entry (does not reset 2FA)
This content was automatically generated from GitHub. Any edits made on WordPress will be lost.