Class CloudForgeManagerOidcIntegration
java.lang.Object
com.cloudforge.core.oidc.CloudForgeManagerOidcIntegration
- All Implemented Interfaces:
OidcIntegration
Deployment-time OIDC contract for CloudForge Manager.
The Manager server owns the authorization-code exchange and its cookie session;
the browser is never given a client secret. ContainerFactory supplies the
matching ManagerEnvKeys.OIDC_CLIENT_SECRET value from Secrets Manager.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the authentication type this integration uses.The Manager image owns its Java entrypoint.Returns environment variables needed for OIDC configuration.Returns the OIDC integration method for this application.Returns the OIDC callback path for this application.getUserDataCommands(OidcConfiguration config, Ec2Context context) Returns UserData commands for setting up OIDC integration.booleanReturns whether this application supports OIDC integration.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface OidcIntegration
getConfigurationFile, getConfigurationFilePath, getPostDeploymentInstructions, getSamlCertificateEnvVar, getSamlCertificateFilePath, getSamlCertificateMountPath, isDistroless, needsSamlCertificate, supportsAlbOidc, supportsApplicationOidc, supportsCognito, supportsIdentityCenterSaml
-
Field Details
-
CALLBACK_PATH
Callback handled by the Manager authorization-code endpoint.- See Also:
-
START_PATH
- See Also:
-
-
Constructor Details
-
CloudForgeManagerOidcIntegration
public CloudForgeManagerOidcIntegration()
-
-
Method Details
-
isSupported
public boolean isSupported()Description copied from interface:OidcIntegrationReturns whether this application supports OIDC integration.- Specified by:
isSupportedin interfaceOidcIntegration- Returns:
- true if application has OIDC support
-
getIntegrationMethod
Description copied from interface:OidcIntegrationReturns the OIDC integration method for this application.Examples:
- jenkins: OIDC Plugin
- gitlab: Built-in OmniAuth
- grafana: Built-in generic_oauth
- sonarqube: OIDC Plugin
- Specified by:
getIntegrationMethodin interfaceOidcIntegration- Returns:
- integration method description
-
getEnvironmentVariables
Description copied from interface:OidcIntegrationReturns environment variables needed for OIDC configuration.These are passed to the container or EC2 userdata script.
Example for Grafana:
GF_AUTH_GENERIC_OAUTH_ENABLED=true GF_AUTH_GENERIC_OAUTH_NAME=Cognito GF_AUTH_GENERIC_OAUTH_CLIENT_ID=${clientId} GF_AUTH_GENERIC_OAUTH_AUTH_URL=${authUrl}- Specified by:
getEnvironmentVariablesin interfaceOidcIntegration- Parameters:
config- OIDC configuration from provider- Returns:
- map of environment variable name to value
-
getUserDataCommands
Description copied from interface:OidcIntegrationReturns UserData commands for setting up OIDC integration.These commands are added to the EC2 userdata script to configure OIDC integration during instance initialization.
- Specified by:
getUserDataCommandsin interfaceOidcIntegration- Parameters:
config- OIDC configuration from providercontext- EC2 context with stack information- Returns:
- list of shell commands
-
getOidcCallbackPath
Description copied from interface:OidcIntegrationReturns the OIDC callback path for this application.This is the path where the OIDC provider redirects after authentication. Each application has a different callback path based on its OIDC implementation.
Examples:
- Jenkins: /securityRealm/finishLogin
- Mattermost: /signup/gitlab/complete (uses GitLab OAuth provider for OIDC)
- GitLab: /users/auth/openid_connect/callback
- Grafana: /login/generic_oauth
- Specified by:
getOidcCallbackPathin interfaceOidcIntegration- Returns:
- callback path (e.g., "/securityRealm/finishLogin")
-
getContainerStartupCommand
The Manager image owns its Java entrypoint. OIDC is configured solely through environment variables, so a generic shell startup override would break it.- Specified by:
getContainerStartupCommandin interfaceOidcIntegration- Returns:
- startup command path
-
getAuthenticationType
Description copied from interface:OidcIntegrationReturns the authentication type this integration uses.- Specified by:
getAuthenticationTypein interfaceOidcIntegration- Returns:
- "OIDC" or "SAML"
-