More experimentation, more failures. As expected, with the elytron-oidc-client I can't configure the security realm, or role mappers, or any other elytron components, because of the virtual security domain it uses. I tried using the Keycloak adapter as well. I created a JDBC realm to load attributes for a security identity, made a new aggregate realm using KeycloakOIDCRealm for its authentication realm, and both KeycloakOIDCRealm and my new JDBC realm as authorization realms. I used this aggregate realm in the KEYCLOAK mechanism in the keycloak-http-authentication factory, and as the target of the keycloak-oidc-realm-mapper, and now I get "User does not exist" errors all the time. I don't see any evidence that the query in my JDBC realm are ever being run, so I'm confident it's not a problem with that realm. I don't really have any idea what to do next.