2019-11-07 20:05:39 +01:00
|
|
|
// Copyright 2018 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
// Package google provides support for making OAuth2 authorized and authenticated
|
|
|
|
// HTTP requests to Google APIs. It supports the Web server flow, client-side
|
2021-06-24 16:28:37 +02:00
|
|
|
// credentials, service accounts, Google Compute Engine service accounts,
|
|
|
|
// Google App Engine service accounts and workload identity federation
|
|
|
|
// from non-Google cloud platforms.
|
2019-11-07 20:05:39 +01:00
|
|
|
//
|
|
|
|
// A brief overview of the package follows. For more information, please read
|
|
|
|
// https://developers.google.com/accounts/docs/OAuth2
|
|
|
|
// and
|
|
|
|
// https://developers.google.com/accounts/docs/application-default-credentials.
|
2021-02-28 13:51:43 +01:00
|
|
|
// For more information on using workload identity federation, refer to
|
|
|
|
// https://cloud.google.com/iam/docs/how-to#using-workload-identity-federation.
|
2019-11-07 20:05:39 +01:00
|
|
|
//
|
2022-04-12 11:51:54 +02:00
|
|
|
// # OAuth2 Configs
|
2019-11-07 20:05:39 +01:00
|
|
|
//
|
|
|
|
// Two functions in this package return golang.org/x/oauth2.Config values from Google credential
|
|
|
|
// data. Google supports two JSON formats for OAuth2 credentials: one is handled by ConfigFromJSON,
|
|
|
|
// the other by JWTConfigFromJSON. The returned Config can be used to obtain a TokenSource or
|
|
|
|
// create an http.Client.
|
|
|
|
//
|
2024-03-06 20:24:42 +01:00
|
|
|
// # Workload and Workforce Identity Federation
|
2021-02-28 13:51:43 +01:00
|
|
|
//
|
2024-03-06 20:24:42 +01:00
|
|
|
// For information on how to use Workload and Workforce Identity Federation, see [golang.org/x/oauth2/google/externalaccount].
|
2023-03-12 11:13:38 +01:00
|
|
|
//
|
2022-04-12 11:51:54 +02:00
|
|
|
// # Credentials
|
2019-11-07 20:05:39 +01:00
|
|
|
//
|
|
|
|
// The Credentials type represents Google credentials, including Application Default
|
|
|
|
// Credentials.
|
|
|
|
//
|
|
|
|
// Use FindDefaultCredentials to obtain Application Default Credentials.
|
|
|
|
// FindDefaultCredentials looks in some well-known places for a credentials file, and
|
|
|
|
// will call AppEngineTokenSource or ComputeTokenSource as needed.
|
|
|
|
//
|
2021-02-28 13:51:43 +01:00
|
|
|
// Application Default Credentials also support workload identity federation to
|
|
|
|
// access Google Cloud resources from non-Google Cloud platforms including Amazon
|
|
|
|
// Web Services (AWS), Microsoft Azure or any identity provider that supports
|
|
|
|
// OpenID Connect (OIDC). Workload identity federation is recommended for
|
|
|
|
// non-Google Cloud environments as it avoids the need to download, manage and
|
|
|
|
// store service account private keys locally.
|
|
|
|
//
|
2019-11-07 20:05:39 +01:00
|
|
|
// DefaultClient and DefaultTokenSource are convenience methods. They first call FindDefaultCredentials,
|
|
|
|
// then use the credentials to construct an http.Client or an oauth2.TokenSource.
|
|
|
|
//
|
|
|
|
// Use CredentialsFromJSON to obtain credentials from either of the two JSON formats
|
|
|
|
// described in OAuth2 Configs, above. The TokenSource in the returned value is the
|
|
|
|
// same as the one obtained from the oauth2.Config returned from ConfigFromJSON or
|
|
|
|
// JWTConfigFromJSON, but the Credentials may contain additional information
|
|
|
|
// that is useful is some circumstances.
|
|
|
|
package google // import "golang.org/x/oauth2/google"
|