ImpersonatedAuthClient class
An authenticated HTTP client that impersonates a service account.
This client allows a source credential to act as a different service account through Google's IAM Credentials API. It supports:
- Auto-refreshing access tokens
- Signing data as the impersonated account
- Delegation chains for multi-hop impersonation
- Custom universe domains
- Implemented types
- Available extensions
Constructors
-
ImpersonatedAuthClient({required AuthClient sourceClient, required String targetServiceAccount, required List<
String> targetScopes, List<String> ? delegates, String universeDomain = defaultUniverseDomain, Duration lifetime = const Duration(hours: 1)}) - Creates an ImpersonatedAuthClient instance.
Properties
- baseClient → Client
-
finalinherited
- closeUnderlyingClient → bool
-
finalinherited
- credentials → AccessCredentials
-
The credentials currently used for making HTTP requests.
no setteroverride
-
credentialUpdates
→ Stream<
AccessCredentials> -
A broadcast stream of
AccessCredentials.no setterinherited - hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serviceAccountCredentials → ServiceAccountCredentials?
-
The service account credentials used to create this client, if any.
no setteroverride
- targetServiceAccount → String
-
The email of the target service account being impersonated.
no setter
Methods
-
close(
) → void -
Closes the client and cleans up any resources associated with it.
inherited
-
delete(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP DELETE request with the given headers to the given URL.
inherited
-
generateAccessToken(
) → Future< AccessCredentials> - Generates a new access token for the impersonated service account.
-
get(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP GET request with the given headers to the given URL.
inherited
-
head(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP HEAD request with the given headers to the given URL.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyAboutNewCredentials(
AccessCredentials credentials) → void -
inherited
-
patch(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PATCH request with the given headers and body to the given
URL.
inherited
-
post(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP POST request with the given headers and body to the given
URL.
inherited
-
put(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PUT request with the given headers and body to the given
URL.
inherited
-
read(
Uri url, {Map< String, String> ? headers}) → Future<String> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a String.
inherited
-
readBytes(
Uri url, {Map< String, String> ? headers}) → Future<Uint8List> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a list of
bytes.
inherited
-
send(
BaseRequest request) → Future< StreamedResponse> - Sends an HTTP request and asynchronously returns the response.
-
sign(
List< int> data) → Future<String> -
Signs the given
datausing the IAM Credentials API. -
sign(
List< int> data, {String? endpoint}) → Future<String> -
Available on AuthClient, provided by the AuthClientSigningExtension extension
Signs some bytes using the credentials from this auth client. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited