Package dev.relism.flash.ext.oidc
Class OidcExtension
java.lang.Object
dev.relism.flash.ext.oidc.OidcExtension
- All Implemented Interfaces:
dev.relism.flash.extension.FlashExtension
Full OIDC Authorization Code + PKCE flow for Flash.
At
, the extension:
invalid reference
#provide
- Fetches the provider discovery document — fail-fast at startup.
- Provides
OidcMiddlewareandJwtValidatorin the context. - Registers annotation processors for
Authenticated,RolesAllowedandScopesAllowed.
At
, three routes are registered:
invalid reference
#routes
GET {prefix}/login— builds the authorization URL and redirects.GET {prefix}/callback— exchanges the code, creates a session, redirects.POST {prefix}/logout— invalidates the session, redirects to provider end-session endpoint (if available) or toOidcConfig.postLogoutRedirectUri().
// Keycloak
app.install(new OidcExtension(
OidcConfig.builder(
"https://keycloak.example.com/realms/myrealm",
"my-app", "secret", "/auth/callback")
.rolesClaimPath("realm_access.roles")
.build()));
// Two providers / tenants on one server
app.install(new OidcExtension(tenantAConfig))
.install(new OidcExtension(tenantBConfig));
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigure(dev.relism.flash.extension.FlashRegistrar<?> app, dev.relism.flash.extension.FlashContext ctx)
-
Constructor Details
-
OidcExtension
-
-
Method Details
-
configure
public void configure(dev.relism.flash.extension.FlashRegistrar<?> app, dev.relism.flash.extension.FlashContext ctx) - Specified by:
configurein interfacedev.relism.flash.extension.FlashExtension
-