package impersonate
import "golang.org/x/oauth2/google/internal/impersonate"
Index ¶
Types ¶
type ImpersonateTokenSource ¶
type ImpersonateTokenSource struct {
// Ctx is the execution context of the impersonation process
// used to perform http call to the URL. Required
Ctx context.Context
// Ts is the source credential used to generate a token on the
// impersonated service account. Required.
Ts oauth2.TokenSource
// URL is the endpoint to call to generate a token
// on behalf the service account. Required.
URL string
// Scopes that the impersonated credential should have. Required.
Scopes []string
// Delegates are the service account email addresses in a delegation chain.
// Each service account must be granted roles/iam.serviceAccountTokenCreator
// on the next service account in the chain. Optional.
Delegates []string
// TokenLifetimeSeconds is the number of seconds the impersonation token will
// be valid for.
TokenLifetimeSeconds int
}
ImpersonateTokenSource uses a source credential, stored in Ts, to request an access token to the provided URL. Scopes can be defined when the access token is requested.
func (ImpersonateTokenSource) Token ¶
func (its ImpersonateTokenSource) Token() (*oauth2.Token, error)
Token performs the exchange to get a temporary service account token to allow access to GCP.
Source Files ¶
impersonate.go
- Version
- v0.35.0
- Published
- Jan 12, 2026
- Platform
- linux/amd64
- Imports
- 8 packages
- Last checked
- 7 hours ago –
Tools for package owners.