What's Changed
- add an optional authenticator setting to show a masked email on the OTP form
- inject
maskedEmailserver-side instead of relying on${user.email!}in the login template - add regression tests for masked email exposure
- update README, local testing docs, and website docs
Why
Discussion #104 showed that on Keycloak 26.6 with plugin v26.4.0 the OTP template did not reliably expose a populated user object, so ${user.email!} could be empty. This release fixes that by passing a server-generated masked email value to the OTP form when enabled.
Configuration
- new config key:
showMaskedEmailOnOtpForm - default:
false - example UI output:
u***e@example.com
Verification
mvn -q -Dtest=EmailAuthenticatorFormTest,EmailConstantsTest test