Interface ExtensionAppAuthenticator

All Known Implementing Classes:
AbstractExtensionAppAuthenticator, ExtensionAppAuthenticatorCertImpl, ExtensionAppAuthenticatorRsaImpl

@API(status=STABLE) public interface ExtensionAppAuthenticator
Extension App Authenticator Service.
  • Method Details

    • authenticateExtensionApp

      @Nonnull AppAuthSession authenticateExtensionApp(String appToken) throws AuthUnauthorizedException
      Authenticates an extension app.
      Parameters:
      appToken - The token generated by application backend.
      Returns:
      the extension app authentication session.
      Throws:
      AuthUnauthorizedException - when the bot is unauthorized.
    • getPodCertificate

      PodCertificate getPodCertificate()
      Retrieves the pod certificate. Useful when validating JWT tokens.
      Returns:
      the pod certificate
    • validateTokens

      boolean validateTokens(String appToken, String symphonyToken)
      Validates if appToken and symphonyToken corresponds to an existing session
      Parameters:
      appToken - the appToken
      symphonyToken - the symphonyToken
      Returns:
      true if symphonyToken associated to a previous session initiated with appToken
    • validateJwt

      UserClaim validateJwt(String jwt) throws AuthInitializationException
      Validates a JWT against the pod certificate
      Parameters:
      jwt - the JWT to be validated
      Returns:
      the UserClaim containing all information in JWT claim "user" if JWT successfully validated
      Throws:
      AuthInitializationException - if JWT cannot be validated or if JWT is invalid
      See Also: