AuthProvider

com.google.api.auth.AuthProvider
See theAuthProvider companion object
final case class AuthProvider(id: String, issuer: String, jwksUri: String, audiences: String, authorizationUrl: String, jwtLocations: Seq[JwtLocation], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[AuthProvider]

Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).

Value parameters

audiences

The list of JWT [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). 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

authorizationUrl

Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec.

id

The unique identifier of the auth provider. It will be referred to by AuthRequirement.provider_id. Example: "bookstore_auth".

issuer

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: [email protected]

jwksUri

URL of the provider's public key set to validate signature of the JWT. See [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). Optional if the key set document:

  • can be retrieved from [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) 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

jwtLocations

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] (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#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

Attributes

Companion
object
Source
AuthProvider.scala
Graph
Supertypes
trait Updatable[AuthProvider]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def addAllJwtLocations(`__vs`: Iterable[JwtLocation]): AuthProvider

Attributes

Source
AuthProvider.scala

Attributes

Source
AuthProvider.scala

Attributes

Source
AuthProvider.scala
def getField(`__field`: FieldDescriptor): PValue

Attributes

Source
AuthProvider.scala
def getFieldByNumber(`__fieldNumber`: Int): Any

Attributes

Source
AuthProvider.scala
override def serializedSize: Int

Attributes

Definition Classes
GeneratedMessage
Source
AuthProvider.scala
def toProtoString: String

Returns a human-readable ASCII format representation of this message.

Returns a human-readable ASCII format representation of this message.

The original message can be decoded from this format by using fromAscii on the companion object.

Attributes

Returns

human-readable representation of this message.

Source
AuthProvider.scala
def withAudiences(`__v`: String): AuthProvider

Attributes

Source
AuthProvider.scala
def withAuthorizationUrl(`__v`: String): AuthProvider

Attributes

Source
AuthProvider.scala
def withId(`__v`: String): AuthProvider

Attributes

Source
AuthProvider.scala
def withIssuer(`__v`: String): AuthProvider

Attributes

Source
AuthProvider.scala
def withJwksUri(`__v`: String): AuthProvider

Attributes

Source
AuthProvider.scala

Attributes

Source
AuthProvider.scala
def withUnknownFields(`__v`: UnknownFieldSet): AuthProvider

Attributes

Source
AuthProvider.scala
def writeTo(`_output__`: CodedOutputStream): Unit

Serializes the message into the given coded output stream

Serializes the message into the given coded output stream

Attributes

Source
AuthProvider.scala

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
final def toByteArray: Array[Byte]

Serializes the message and returns a byte array containing its raw bytes

Serializes the message and returns a byte array containing its raw bytes

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def toByteString: ByteString

Serializes the message and returns a ByteString containing its raw bytes

Serializes the message and returns a ByteString containing its raw bytes

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def toPMessage: PMessage

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
def update(ms: Lens[AuthProvider, AuthProvider] => () => AuthProvider*): A

Attributes

Inherited from:
Updatable
Source
Lenses.scala
final def writeDelimitedTo(output: OutputStream): Unit

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def writeTo(output: OutputStream): Unit

Serializes the message into the given output stream

Serializes the message into the given output stream

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala