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
NameDescription
otherAuthProvider

Fields

AudiencesFieldNumber

public const int AudiencesFieldNumber = 4

Field number for the "audiences" field.

Field Value
TypeDescription
int

AuthorizationUrlFieldNumber

public const int AuthorizationUrlFieldNumber = 5

Field number for the "authorization_url" field.

Field Value
TypeDescription
int

IdFieldNumber

public const int IdFieldNumber = 1

Field number for the "id" field.

Field Value
TypeDescription
int

IssuerFieldNumber

public const int IssuerFieldNumber = 2

Field number for the "issuer" field.

Field Value
TypeDescription
int

JwksUriFieldNumber

public const int JwksUriFieldNumber = 3

Field number for the "jwks_uri" field.

Field Value
TypeDescription
int

JwtLocationsFieldNumber

public const int JwtLocationsFieldNumber = 6

Field number for the "jwt_locations" field.

Field Value
TypeDescription
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
TypeDescription
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
TypeDescription
string

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
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
TypeDescription
RepeatedFieldJwtLocation

Parser

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

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
int

Clone()

public AuthProvider Clone()
Returns
TypeDescription
AuthProvider

Equals(AuthProvider)

public bool Equals(AuthProvider other)
Parameter
NameDescription
otherAuthProvider
Returns
TypeDescription
bool

Equals(object)

public override bool Equals(object other)
Parameter
NameDescription
otherobject
Returns
TypeDescription
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

MergeFrom(AuthProvider)

public void MergeFrom(AuthProvider other)
Parameter
NameDescription
otherAuthProvider

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream