google.auth.transport.grpc module

Authorization support for gRPC.

class AuthMetadataPlugin(credentials, request)[source]

Bases: sphinx.ext.autodoc.importer._MockObject

A gRPC AuthMetadataPlugin that inserts the credentials into each request.

secure_authorized_channel(credentials, request, target, ssl_credentials=None, **kwargs)[source]

Creates a secure authorized gRPC channel.

This creates a channel with SSL and AuthMetadataPlugin. This channel can be used to create a stub that can make authorized requests.


import google.auth
import google.auth.transport.grpc
import google.auth.transport.requests
from import cloud_speech_pb2

# Get credentials.
credentials, _ = google.auth.default()

# Get an HTTP request function to refresh credentials.
request = google.auth.transport.requests.Request()

# Create a channel.
channel = google.auth.transport.grpc.secure_authorized_channel(
    credentials, '', request)

# Use the channel to create a stub.
  • credentials (google.auth.credentials.Credentials) – The credentials to add to requests.
  • request (google.auth.transport.Request) – A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there’s no way to refresh the credentials without using a standard http transport.
  • target (str) – The host and port of the service.
  • ssl_credentials (grpc.ChannelCredentials) – Optional SSL channel credentials. This can be used to specify different certificates.
  • kwargs – Additional arguments to pass to grpc.secure_channel().

The created gRPC channel.

Return type: