public sealed class AuthProvider : IMessage<AuthProvider>, IEquatable<AuthProvider>, IDeepCloneable<AuthProvider>, IBufferMessage, IMessageConfiguration for an authentication provider, including support for JSON Web Token (JWT).
Implements
IMessageAuthProvider, IEquatableAuthProvider, IDeepCloneableAuthProvider, IBufferMessage, IMessageNamespace
Google.ApiAssembly
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 = 4Field number for the "audiences" field.
| Field Value | |
|---|---|
| Type | Description | 
| int | |
AuthorizationUrlFieldNumber
public const int AuthorizationUrlFieldNumber = 5Field number for the "authorization_url" field.
| Field Value | |
|---|---|
| Type | Description | 
| int | |
IdFieldNumber
public const int IdFieldNumber = 1Field number for the "id" field.
| Field Value | |
|---|---|
| Type | Description | 
| int | |
IssuerFieldNumber
public const int IssuerFieldNumber = 2Field number for the "issuer" field.
| Field Value | |
|---|---|
| Type | Description | 
| int | |
JwksUriFieldNumber
public const int JwksUriFieldNumber = 3Field number for the "jwks_uri" field.
| Field Value | |
|---|---|
| Type | Description | 
| int | |
JwtLocationsFieldNumber
public const int JwtLocationsFieldNumber = 6Field 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:
- "https://[service.name]/[google.protobuf.Api.name]"
- "https://[service.name]/" will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService
- https://library-example.googleapis.com/
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).
| 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 | |
GetHashCode()
public override int GetHashCode()| Returns | |
|---|---|
| Type | Description | 
| int | |
MergeFrom(AuthProvider)
public void MergeFrom(AuthProvider other)Merges the given message into this one.
| Parameter | |
|---|---|
| Name | Description | 
| other | AuthProvider | 
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 | 
See the user guide for precise merge semantics.
ToString()
public override string ToString()| Returns | |
|---|---|
| Type | Description | 
| string | |
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)Writes the data to the given coded output stream.
| Parameter | |
|---|---|
| Name | Description | 
| output | CodedOutputStreamCoded output stream to write the data to. Must not be null. |