Class AuthProvider (2.15.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()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

public AuthProvider Clone()

Creates a deep clone of this object.

Returns
Type Description
AuthProvider

A deep clone of this object.

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)

Merges the given message into this one.

Parameter
Name Description
other AuthProvider
Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.