Package com.google.auth.oauth2
Class PluggableAuthHandler
- java.lang.Object
-
- com.google.auth.oauth2.PluggableAuthHandler
-
- All Implemented Interfaces:
ExecutableHandler
final class PluggableAuthHandler extends java.lang.Object implements ExecutableHandler
Internal handler for retrieving 3rd party tokens from user defined scripts/executables for workload identity federation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
PluggableAuthHandler.DefaultProcessBuilder
A default implementation forPluggableAuthHandler.InternalProcessBuilder
that wrapsProcessBuilder
.(package private) static class
PluggableAuthHandler.InternalProcessBuilder
An interface for creating and managing a process.-
Nested classes/interfaces inherited from interface com.google.auth.oauth2.ExecutableHandler
ExecutableHandler.ExecutableOptions
-
-
Field Summary
Fields Modifier and Type Field Description private EnvironmentProvider
environmentProvider
private static int
EXECUTABLE_SUPPORTED_MAX_VERSION
private static int
EXIT_CODE_SUCCESS
private static java.lang.String
GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES
private PluggableAuthHandler.InternalProcessBuilder
internalProcessBuilder
-
Constructor Summary
Constructors Constructor Description PluggableAuthHandler(EnvironmentProvider environmentProvider)
PluggableAuthHandler(EnvironmentProvider environmentProvider, PluggableAuthHandler.InternalProcessBuilder internalProcessBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ExecutableResponse
getCachedExecutableResponse(ExecutableHandler.ExecutableOptions options)
(package private) ExecutableResponse
getExecutableResponse(ExecutableHandler.ExecutableOptions options)
(package private) PluggableAuthHandler.InternalProcessBuilder
getProcessBuilder(java.util.List<java.lang.String> commandComponents)
java.lang.String
retrieveTokenFromExecutable(ExecutableHandler.ExecutableOptions options)
Handles executing the 3rd party script and parsing the token from the response.
-
-
-
Field Detail
-
EXECUTABLE_SUPPORTED_MAX_VERSION
private static final int EXECUTABLE_SUPPORTED_MAX_VERSION
- See Also:
- Constant Field Values
-
GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES
private static final java.lang.String GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES
- See Also:
- Constant Field Values
-
EXIT_CODE_SUCCESS
private static final int EXIT_CODE_SUCCESS
- See Also:
- Constant Field Values
-
environmentProvider
private final EnvironmentProvider environmentProvider
-
internalProcessBuilder
private PluggableAuthHandler.InternalProcessBuilder internalProcessBuilder
-
-
Constructor Detail
-
PluggableAuthHandler
PluggableAuthHandler(EnvironmentProvider environmentProvider)
-
PluggableAuthHandler
PluggableAuthHandler(EnvironmentProvider environmentProvider, PluggableAuthHandler.InternalProcessBuilder internalProcessBuilder)
-
-
Method Detail
-
retrieveTokenFromExecutable
public java.lang.String retrieveTokenFromExecutable(ExecutableHandler.ExecutableOptions options) throws java.io.IOException
Description copied from interface:ExecutableHandler
Handles executing the 3rd party script and parsing the token from the response.- Specified by:
retrieveTokenFromExecutable
in interfaceExecutableHandler
- Parameters:
options
- A set executable options for handling the executable.- Returns:
- A 3rd party token.
- Throws:
java.io.IOException
-
getCachedExecutableResponse
@Nullable ExecutableResponse getCachedExecutableResponse(ExecutableHandler.ExecutableOptions options) throws PluggableAuthException
- Throws:
PluggableAuthException
-
getExecutableResponse
ExecutableResponse getExecutableResponse(ExecutableHandler.ExecutableOptions options) throws java.io.IOException
- Throws:
java.io.IOException
-
getProcessBuilder
PluggableAuthHandler.InternalProcessBuilder getProcessBuilder(java.util.List<java.lang.String> commandComponents)
-
-