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. |