Class AuthProvider (2.10.0)

public sealed class AuthProvider : IMessage<AuthProvider>, IEquatable<AuthProvider>, IDeepCloneable<AuthProvider>, IBufferMessage, IMessage

Configuration for an authentication provider, including support for JSON Web Token (JWT).

Inheritance

object > AuthProvider

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

AuthProvider()

public AuthProvider()

AuthProvider(AuthProvider)

public AuthProvider(AuthProvider other)
Parameter
Name Description
other AuthProvider

Fields

AudiencesFieldNumber

public const int AudiencesFieldNumber = 4

Field number for the "audiences" field.

Field Value
Type Description
int

AuthorizationUrlFieldNumber

public const int AuthorizationUrlFieldNumber = 5

Field number for the "authorization_url" field.

Field Value
Type Description
int

IdFieldNumber

public const int IdFieldNumber = 1

Field number for the "id" field.

Field Value
Type Description
int

IssuerFieldNumber

public const int IssuerFieldNumber = 2

Field number for the "issuer" field.

Field Value
Type Description
int

JwksUriFieldNumber

public const int JwksUriFieldNumber = 3

Field number for the "jwks_uri" field.

Field Value
Type Description
int

JwtLocationsFieldNumber

public const int JwtLocationsFieldNumber = 6

Field number for the "jwt_locations" field.

Field Value
Type Description
int

Properties

Audiences

public string Audiences { get; set; }

The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences:

Example:

audiences: bookstore_android.apps.googleusercontent.com,
           bookstore_web.apps.googleusercontent.com
Property Value
Type Description
string

AuthorizationUrl

public string AuthorizationUrl { get; set; }

Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec.

Property Value
Type Description
string

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Id

public string Id { get; set; }

The unique identifier of the auth provider. It will be referred to by AuthRequirement.provider_id.

Example: "bookstore_auth".

Property Value
Type Description
string

Issuer

public string Issuer { get; set; }

Identifies the principal that issued the JWT. See https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 Usually a URL or an email address.

Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com

Property Value
Type Description
string

JwksUri

public string JwksUri { get; set; }

URL of the provider's public key set to validate signature of the JWT. See OpenID Discovery. Optional if the key set document:

  • can be retrieved from OpenID Discovery of the issuer.
  • can be inferred from the email domain of the issuer (e.g. a Google service account).

Example: https://www.googleapis.com/oauth2/v1/certs

Property Value
Type Description
string

JwtLocations

public RepeatedField<JwtLocation> JwtLocations { get; }

Defines the locations to extract the JWT. For now it is only used by the Cloud Endpoints to store the OpenAPI extension x-google-jwt-locations

JWT locations can be one of HTTP headers, URL query parameters or cookies. The rule is that the first match wins.

If not specified, default to use following 3 locations: 1) Authorization: Bearer 2) x-goog-iap-jwt-assertion 3) access_token query parameter

Default locations can be specified as followings: jwt_locations:

  • header: Authorization value_prefix: "Bearer "
  • header: x-goog-iap-jwt-assertion
  • query: access_token
Property Value
Type Description
RepeatedFieldJwtLocation

Parser

public static MessageParser<AuthProvider> Parser { get; }
Property Value
Type Description
MessageParserAuthProvider

Methods

CalculateSize()

public int CalculateSize()
Returns
Type Description
int

Clone()

public AuthProvider Clone()
Returns
Type Description
AuthProvider

Equals(AuthProvider)

public bool Equals(AuthProvider other)
Parameter
Name Description
other AuthProvider
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(AuthProvider)

public void MergeFrom(AuthProvider other)
Parameter
Name Description
other AuthProvider

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
Name Description
input CodedInputStream

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
Name Description
output CodedOutputStream