Class OAuth2AuthenticationMetaData

java.lang.Object
com.kingsrook.qqq.backend.core.model.metadata.authentication.QAuthenticationMetaData
com.kingsrook.qqq.backend.core.model.metadata.authentication.OAuth2AuthenticationMetaData
All Implemented Interfaces:
MetaDataProducerOutput, QMetaDataObject, TopLevelMetaDataInterface, Serializable

public class OAuth2AuthenticationMetaData extends QAuthenticationMetaData
Meta-data to provide details of an OAuth2 Authentication module. baseUrl is used by the backend server for OIDC discovery and token exchange (server-to-server calls). In Kubernetes or environments behind a reverse proxy, this may be an internal/cluster-local URL (e.g., http://auth-service.auth.svc/). externalBaseUrl, if set, is the URL sent to the frontend/SPA for browser-based OAuth2 redirects. This is needed when the backend cannot reach the OAuth2 provider via the same URL that browsers use (e.g., Calico NetworkPolicy blocking pod-to-LoadBalancer traffic, or internal HTTP vs external HTTPS). If not set, baseUrl is used for both purposes (backwards compatible).
See Also:
  • Constructor Details

    • OAuth2AuthenticationMetaData

      public OAuth2AuthenticationMetaData()
      Default Constructor.
  • Method Details

    • validate

      public void validate(QInstance qInstance, QInstanceValidator qInstanceValidator)
      Overrides:
      validate in class QAuthenticationMetaData
    • withBaseUrl

      public OAuth2AuthenticationMetaData withBaseUrl(String baseUrl)
      Fluent setter, override to help fluent flows
    • getBaseUrl

      public String getBaseUrl()
      Getter for baseUrl
    • setBaseUrl

      public void setBaseUrl(String baseUrl)
      Setter for baseUrl
    • getExternalBaseUrl

      public String getExternalBaseUrl()
      Getter for externalBaseUrl
    • setExternalBaseUrl

      public void setExternalBaseUrl(String externalBaseUrl)
      Setter for externalBaseUrl
    • withExternalBaseUrl

      public OAuth2AuthenticationMetaData withExternalBaseUrl(String externalBaseUrl)
      Fluent setter for externalBaseUrl
    • withClientId

      public OAuth2AuthenticationMetaData withClientId(String clientId)
      Fluent setter, override to help fluent flows
    • getClientId

      public String getClientId()
      Getter for clientId
    • setClientId

      public void setClientId(String clientId)
      Setter for clientId
    • withClientSecret

      public OAuth2AuthenticationMetaData withClientSecret(String clientSecret)
      Fluent setter, override to help fluent flows
    • getClientSecret

      public String getClientSecret()
      Getter for clientSecret
    • setClientSecret

      public void setClientSecret(String clientSecret)
      Setter for clientSecret
    • getTokenUrl

      public String getTokenUrl()
      Getter for tokenUrl
    • setTokenUrl

      public void setTokenUrl(String tokenUrl)
      Setter for tokenUrl
    • withTokenUrl

      public OAuth2AuthenticationMetaData withTokenUrl(String tokenUrl)
      Fluent setter for tokenUrl
    • getUserSessionTableName

      public String getUserSessionTableName()
      Getter for userSessionTableName
    • setUserSessionTableName

      public void setUserSessionTableName(String userSessionTableName)
      Setter for userSessionTableName
    • withUserSessionTableName

      public OAuth2AuthenticationMetaData withUserSessionTableName(String userSessionTableName)
      Fluent setter for userSessionTableName
    • getRedirectStateTableName

      public String getRedirectStateTableName()
      Getter for redirectStateTableName
    • setRedirectStateTableName

      public void setRedirectStateTableName(String redirectStateTableName)
      Setter for redirectStateTableName
    • withRedirectStateTableName

      public OAuth2AuthenticationMetaData withRedirectStateTableName(String redirectStateTableName)
      Fluent setter for redirectStateTableName
    • getScopes

      public String getScopes()
      Getter for scopes
    • setScopes

      public void setScopes(String scopes)
      Setter for scopes
    • withScopes

      public OAuth2AuthenticationMetaData withScopes(String scopes)
      Fluent setter for scopes