Show / Hide Table of Contents

Class ComputeCredential

Google OAuth 2.0 credential for accessing protected resources using an access token. The Google OAuth 2.0 Authorization Server supports server-to-server interactions such as those between a web application and Google Cloud Storage. The requesting application has to prove its own identity to gain access to an API, and an end-user doesn't have to be involved.

More details about Compute Engine authentication is available at: https://cloud.google.com/compute/docs/authentication.

Inheritance
System.Object
ServiceCredential
ComputeCredential
Implements
Google.Apis.Http.IHttpExecuteInterceptor
Google.Apis.Http.IHttpUnsuccessfulResponseHandler
IOidcTokenProvider
ICredential
Google.Apis.Http.IConfigurableHttpClientInitializer
ITokenAccessWithHeaders
ITokenAccess
Inherited Members
ServiceCredential.Logger
ServiceCredential.TokenServerUrl
ServiceCredential.Clock
ServiceCredential.AccessMethod
ServiceCredential.HttpClient
ServiceCredential.Token
ServiceCredential.QuotaProject
ServiceCredential.Initialize(ConfigurableHttpClient)
ServiceCredential.InterceptAsync(HttpRequestMessage, CancellationToken)
ServiceCredential.HandleResponseAsync(HandleUnsuccessfulResponseArgs)
ServiceCredential.GetAccessTokenForRequestAsync(String, CancellationToken)
ServiceCredential.GetAccessTokenWithHeadersForRequestAsync(String, CancellationToken)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Google.Apis.Auth.OAuth2
Assembly: Google.Apis.Auth.dll
Syntax
public class ComputeCredential : ServiceCredential, IHttpExecuteInterceptor, IHttpUnsuccessfulResponseHandler, IOidcTokenProvider, IGoogleCredential, ICredential, IConfigurableHttpClientInitializer, ITokenAccessWithHeaders, ITokenAccess

Constructors

ComputeCredential()

Constructs a new Compute credential instance.

Declaration
public ComputeCredential()

ComputeCredential(ComputeCredential.Initializer)

Constructs a new Compute credential instance.

Declaration
public ComputeCredential(ComputeCredential.Initializer initializer)
Parameters
Type Name Description
ComputeCredential.Initializer initializer

Fields

MetadataServerUrl

The metadata server url. This can be overridden (for the purposes of Compute environment detection and auth token retrieval) using the GCE_METADATA_HOST environment variable.

Declaration
public const string MetadataServerUrl = "http://169.254.169.254"
Field Value
Type Description
System.String

Properties

OidcTokenUrl

Gets the OIDC Token URL.

Declaration
public string OidcTokenUrl { get; }
Property Value
Type Description
System.String

Methods

GetOidcTokenAsync(OidcTokenOptions, CancellationToken)

Returns an OIDC token for the given options.

Declaration
public Task<OidcToken> GetOidcTokenAsync(OidcTokenOptions options, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
OidcTokenOptions options

The options to create the token from.

System.Threading.CancellationToken cancellationToken

The cancellation token that may be used to cancel the request.

Returns
Type Description
System.Threading.Tasks.Task<OidcToken>

The OIDC token.

IsRunningOnComputeEngine()

Detects if application is running on Google Compute Engine. This is achieved by attempting to contact GCE metadata server, that is only available on GCE. The check is only performed the first time you call this method, subsequent invocations used cached result of the first call.

Declaration
public static Task<bool> IsRunningOnComputeEngine()
Returns
Type Description
System.Threading.Tasks.Task<System.Boolean>

RequestAccessTokenAsync(CancellationToken)

Requests a new token.

Declaration
public override Task<bool> RequestAccessTokenAsync(CancellationToken taskCancellationToken)
Parameters
Type Name Description
System.Threading.CancellationToken taskCancellationToken

Cancellation token to cancel operation.

Returns
Type Description
System.Threading.Tasks.Task<System.Boolean>

true if a new token was received successfully.

Overrides
ServiceCredential.RequestAccessTokenAsync(CancellationToken)

Implements

Google.Apis.Http.IHttpExecuteInterceptor
Google.Apis.Http.IHttpUnsuccessfulResponseHandler
IOidcTokenProvider
ICredential
Google.Apis.Http.IConfigurableHttpClientInitializer
ITokenAccessWithHeaders
ITokenAccess
In This Article
Back to top