Class JsonCredentialParameters (1.68.0)

public class JsonCredentialParameters

Holder for credential parameters read from JSON credential file. Fields are union of parameters for all supported credential types.

Inheritance

object > JsonCredentialParameters

Namespace

Google.Apis.Auth.OAuth2

Assembly

Google.Apis.Auth.dll

Fields

AuthorizedUserCredentialType

public const string AuthorizedUserCredentialType = "authorized_user"

UserCredential is created by the GCloud SDK tool when the user runs GCloud Auth Login.

Field Value
Type Description
string

ExternalAccountCredentialType

public const string ExternalAccountCredentialType = "external_account"

See https://cloud.google.com/iam/docs/workload-identity-federation on how to create external account credentials.

Field Value
Type Description
string

ImpersonatedServiceAccountCredentialType

public const string ImpersonatedServiceAccountCredentialType = "impersonated_service_account"

ImpersonatedCredential is created by the GCloud SDK tool when the user runs GCloud Auth ADC Login using the --impersonate-service-account flag.

Field Value
Type Description
string

ServiceAccountCredentialType

public const string ServiceAccountCredentialType = "service_account"

ServiceAccountCredential is downloaded by the user from Google Developers Console.

Field Value
Type Description
string

Properties

Audience

[JsonProperty("audience")]
public string Audience { get; set; }

The STS audience associated with an external account credential.

Property Value
Type Description
string

ClientEmail

[JsonProperty("client_email")]
public string ClientEmail { get; set; }

Client Email associated with ServiceAccountCredential obtained from Google Developers Console

Property Value
Type Description
string

ClientId

[JsonProperty("client_id")]
public string ClientId { get; set; }

Client Id associated with UserCredential created by GCloud Auth Login or with an external account credential.

Property Value
Type Description
string

ClientSecret

[JsonProperty("client_secret")]
public string ClientSecret { get; set; }

Client Secret associated with UserCredential created by GCloud Auth Login or with an external account credential.

Property Value
Type Description
string

CredentialSourceConfig

[JsonProperty("credential_source")]
public JsonCredentialParameters.CredentialSource CredentialSourceConfig { get; set; }

The credential source associated with an external account credential.

Property Value
Type Description
JsonCredentialParametersCredentialSource

Delegates

[JsonProperty("delegates")]
public string[] Delegates { get; set; }

Delegates chain associated to the impersonated credential.

Property Value
Type Description
string

PrivateKey

[JsonProperty("private_key")]
public string PrivateKey { get; set; }

Private Key associated with ServiceAccountCredential obtained from Google Developers Console.

Property Value
Type Description
string

PrivateKeyId

[JsonProperty("private_key_id")]
public string PrivateKeyId { get; set; }

Private Key ID associated with ServiceAccountCredential obtained from Google Developers Console.

Property Value
Type Description
string

ProjectId

[JsonProperty("project_id")]
public string ProjectId { get; set; }

Project ID associated with this credential.

Property Value
Type Description
string

QuotaProject

[JsonProperty("quota_project_id")]
public string QuotaProject { get; set; }

Project ID associated with this credential for the purposes of quota calculations and billing.

Property Value
Type Description
string

RefreshToken

[JsonProperty("refresh_token")]
public string RefreshToken { get; set; }

Refresh Token associated with UserCredential created by GCloud Auth Login.

Property Value
Type Description
string

ServiceAccountImpersonationUrl

[JsonProperty("service_account_impersonation_url")]
public string ServiceAccountImpersonationUrl { get; set; }

This is the URL for the service account impersonation request associated with a source credential or with an external account credential. If this credential is an external account credential and this is not set, the STS returned access token should be directly used without impersonation. If this credential is not an external account credential and this is set, then a credential source needs to be specified.

Property Value
Type Description
string

SourceCredential

[JsonProperty("source_credentials")]
public JsonCredentialParameters SourceCredential { get; set; }

The source credential associated to the impersonated credential.

Property Value
Type Description
JsonCredentialParameters

SubjectTokenType

[JsonProperty("subject_token_type")]
public string SubjectTokenType { get; set; }

The STS subject token type associated with an external account credential.

Property Value
Type Description
string

TokenUri

[JsonProperty("token_uri")]
public string TokenUri { get; set; }

The token endpoint for a service account credential.

Property Value
Type Description
string
Remarks

Note that this is different from TokenUrl which is the STS token exchange endpoint associated with an external account credential.

TokenUrl

[JsonProperty("token_url")]
public string TokenUrl { get; set; }

The STS token exchange endpoint associated with an external account credential.

Property Value
Type Description
string
Remarks

Note that this is different from TokenUri which is the the token endpoint for a service account credential.

Type

[JsonProperty("type")]
public string Type { get; set; }

Type of the credential.

Property Value
Type Description
string

UniverseDomain

[JsonProperty("universe_domain")]
public string UniverseDomain { get; set; }

Universe domain that this credential may be used in.

Property Value
Type Description
string

WorkforcePoolUserProject

[JsonProperty("workforce_pool_user_project")]
public string WorkforcePoolUserProject { get; set; }

The GCP project number to be used for Workforce Pools external credentials.

Property Value
Type Description
string
Remarks

If this external account credential represents a Workforce Pool enabled identity and this values is not specified, then an API key needs to be used alongside this credential to call Google APIs.

Extension Method