- Fix OAuthController: add missing second parameter to redirect()
- Fix KeycloakAuthenticator: get email from toArray() instead of getEmail()
- Fix KeycloakAuthenticator: type-hint session for getFlashBag() access
- Fix import order in KeycloakAuthenticatorTest
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add KeycloakAuthenticatorTest: supports, success/failure redirects, user creation,
email linking, user update, /superadmin group to ROLE_ROOT mapping, unknown groups
- Add OAuthControllerTest: SSO login redirects to Keycloak, SSO logout redirects to home
- Add SSO button presence test to SecurityControllerTest
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>