public sealed class AuthProvider : IMessage<AuthProvider>, IEquatable<AuthProvider>, IDeepCloneable<AuthProvider>, IBufferMessage, IMessage
Configuration 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 = 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:
- "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 |
CodedOutputStream Coded output stream to write the data to. Must not be null. |