Skip to content

Upgrading google-auth 1 to 2

Breaking1.35.0 → 2.62.0Platform2Deprecated1New13Changed18Fixed29Other2

Fetching 117 releases from GitHub…40 / 117
BreakingUpgrade verdict

2 platform requirement changes.

  • This version no longer works on Python 3.8 or 3.9, so you need a newer Python to use it.
  • The package now officially supports Python 3.15.
  • If you use an older version of the grpcio library (below 1.83.0), you will now see a warning telling you to upgrade.
3 items need code or config changes

Python requirement changed in 2.51.0: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.* → >=3.10.

Adds cryptography >=41.0.5.

Drops cachetools, rsa, setuptools, six.

Installs 5 packages in all (was 6).

Also installs cffi, pycparser.

Platform2
Drops support for Python 3.8 and 3.9.
Declares support for Python 3.15.
Deprecated1
Adds a deprecation warning for grpcio versions below 1.83.0 due to PQC support.
grpcio

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • added: export load_credentials_from_dict
  • added: export google_auth_version
  • added: async method AnonymousCredentials.apply(headers, token=…)
  • added: async method AnonymousCredentials.before_request(request, method, url, headers)
  • added: async method AnonymousCredentials.refresh(request)
  • added: async method Credentials.apply(headers, token=…)
  • added: async method Credentials.before_request(request, method, url, headers)
  • added: async method Credentials.refresh(request)
  • added: async method StaticCredentials.before_request(request, method, url, headers)
  • added: async method StaticCredentials.refresh(request)
  • added: class AnonymousCredentials(Credentials)
  • added: class Credentials(_BaseCredentials)
  • added: class StaticCredentials(Credentials)
  • added: constructor Credentials()
  • added: constructor StaticCredentials(token)
  • added: async method Request.close() -> None
  • added: async method Response.close()
  • added: async method Response.content(chunk_size: int) -> AsyncGenerator[bytes, None]
  • added: async method Response.read() -> bytes
  • added: class Request
  • added: class Response
  • added: export google
  • added: property Response.headers -> Mapping[str, str]
  • added: property Response.status_code -> int
  • added: variable DEFAULT_MAX_RETRY_ATTEMPTS
  • added: variable DEFAULT_RETRYABLE_STATUS_CODES
  • added: async method Request.close() -> None
  • added: async method Response.close()
  • added: async method Response.content(chunk_size: int=…) -> AsyncGenerator[bytes, None]
  • added: async method Response.read() -> bytes
  • added: class Request(transport.Request)
  • added: class Response(transport.Response)
  • added: constructor Request(session: Optional[aiohttp.ClientSession]=…)
  • added: constructor Response(response: aiohttp.ClientResponse)
  • added: property Response.headers -> Mapping[str, str]
  • added: property Response.status_code -> int
  • added: variable ClientTimeout
  • added: async function check_parameters_for_unauthorized_response(cached_cert, client_cert_callback=…)
  • added: async function get_client_cert_and_key(client_cert_callback=…)
  • added: async function get_client_ssl_credentials(certificate_config_path=…)
  • added: function default_client_cert_source()
  • added: function make_client_cert_ssl_context(cert_bytes: bytes, key_bytes: bytes, passphrase: Optional[bytes]=…) -> ssl.SSLContext
  • added: async function timeout_guard(timeout)
  • added: async method AsyncAuthorizedSession.close() -> None
  • added: async method AsyncAuthorizedSession.configure_mtls_channel(client_cert_callback=…)
  • added: async method AsyncAuthorizedSession.delete(url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: async method AsyncAuthorizedSession.get(url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: async method AsyncAuthorizedSession.patch(url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: async method AsyncAuthorizedSession.post(url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: async method AsyncAuthorizedSession.put(url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: async method AsyncAuthorizedSession.request(method: str, url: str, data: Optional[bytes]=…, headers: Optional[Mapping[str, str]]=…, max_allowed_time: float=…, timeout: Union[float, ClientTimeout]=…, total_attempts: Optional[int]=…, **kwargs) -> transport.Response
  • added: class AsyncAuthorizedSession
  • added: constructor AsyncAuthorizedSession(credentials: Union[Credentials, google.auth.credentials.Credentials], auth_request: Optional[transport.Request]=…)
  • added: property AsyncAuthorizedSession.is_mtls
  • added: variable AIOHTTP_INSTALLED
  • added: variable ClientTimeout
  • added: class Credentials(credentials.Credentials)
  • added: constructor Credentials(token)
  • added: method Credentials.apply(headers, token=…)
  • added: method Credentials.before_request(request, method, url, headers)
  • added: method Credentials.refresh(request)
  • added: property Credentials.expired
  • added: property Credentials.valid
  • changed: constructor Credentials(audience, subject_token_type, token_url, credential_source=…, service_account_impersonation_url=…, client_id=…, client_secret=…, quota_project_id=…, scopes=…, default_scopes=…) → constructor Credentials(audience, subject_token_type, token_url=…, credential_source=…, aws_security_credentials_supplier=…, *args, **kwargs)
  • added: class AwsSecurityCredentials
  • added: class AwsSecurityCredentialsSupplier
  • added: field AwsSecurityCredentials.access_key_id: str
  • added: field AwsSecurityCredentials.secret_access_key: str
  • added: field AwsSecurityCredentials.session_token: Optional[str]
  • added: method AwsSecurityCredentialsSupplier.get_aws_region(context, request)
  • added: method AwsSecurityCredentialsSupplier.get_aws_security_credentials(context, request)
  • added: export detect_gce_residency_linux
  • removed: method Credentials.refresh(request)
  • changed: class Credentials(credentials.Scoped, credentials.CredentialsWithQuotaProject) → class Credentials(credentials.Scoped, credentials.CredentialsWithQuotaProject, credentials.CredentialsWithUniverseDomain, credentials.CredentialsWithRegionalAccessBoundary)
  • changed: class IDTokenCredentials(credentials.CredentialsWithQuotaProject, credentials.Signing) → class IDTokenCredentials(credentials.CredentialsWithQuotaProject, credentials.Signing, credentials.CredentialsWithTokenUri)
  • changed: constructor Credentials(service_account_email=…, quota_project_id=…, scopes=…, default_scopes=…) → constructor Credentials(service_account_email=…, quota_project_id=…, scopes=…, default_scopes=…, universe_domain=…, trust_boundary=…)
  • changed: constructor IDTokenCredentials(request, target_audience, token_uri=…, additional_claims=…, service_account_email=…, signer=…, use_metadata_identity_endpoint=…, quota_project_id=…) → constructor IDTokenCredentials(request, target_audience, token_uri=…, additional_claims=…, service_account_email=…, signer=…, use_metadata_identity_endpoint=…, quota_project_id=…, bind_id_token=…)
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_universe_domain(universe_domain)
  • added: method IDTokenCredentials.with_token_uri(token_uri)
  • added: property Credentials.universe_domain
  • changed: class Credentials(object) → class Credentials(_BaseCredentials)
  • changed: class ReadOnlyScoped(object) → class ReadOnlyScoped
  • changed: class Signing(object) → class Signing
  • added: class CredentialsWithRegionalAccessBoundary(Credentials)
  • added: class CredentialsWithTokenUri(Credentials)
  • added: class CredentialsWithTrustBoundary(CredentialsWithRegionalAccessBoundary)
  • added: class CredentialsWithUniverseDomain(Credentials)
  • added: class TokenState(Enum)
  • added: constructor CredentialsWithRegionalAccessBoundary()
  • added: constructor CredentialsWithTrustBoundary()
  • added: field TokenState.FRESH
  • added: field TokenState.INVALID
  • added: field TokenState.STALE
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_non_blocking_refresh()
  • added: method CredentialsWithQuotaProject.with_quota_project_from_environment()
  • added: method CredentialsWithRegionalAccessBoundary.apply(headers, token=…)
  • added: method CredentialsWithRegionalAccessBoundary.refresh(request)
  • added: method CredentialsWithRegionalAccessBoundary.with_trust_boundary(trust_boundary)
  • added: method CredentialsWithTokenUri.with_token_uri(token_uri)
  • added: method CredentialsWithUniverseDomain.with_universe_domain(universe_domain)
  • added: property Credentials.token_state
  • added: property Credentials.universe_domain
  • added: property CredentialsWithRegionalAccessBoundary.regional_access_boundary
  • added: property CredentialsWithRegionalAccessBoundary.regional_access_boundary_expiry
  • added: variable DEFAULT_UNIVERSE_DOMAIN
  • added: variable NO_OP_TRUST_BOUNDARY_ENCODED_LOCATIONS
  • added: variable NO_OP_TRUST_BOUNDARY_LOCATIONS: List[str]
  • added: variable ES256Signer
  • added: variable ES256Verifier
  • added: variable EsSigner
  • added: variable EsVerifier
  • changed: class FromServiceAccountMixin(object) → class FromServiceAccountMixin
  • changed: class Signer(object) → class Signer
  • changed: class Verifier(object) → class Verifier
  • added: class EsSigner(base.Signer, base.FromServiceAccountMixin)
  • added: class EsVerifier(base.Verifier)
  • added: constructor EsSigner(private_key: ec.EllipticCurvePrivateKey, key_id: Optional[str]=…) -> None
  • added: constructor EsVerifier(public_key: ec.EllipticCurvePublicKey) -> None
  • added: method EsSigner.sign(message: bytes) -> bytes
  • added: method EsVerifier.verify(message: bytes, signature: bytes) -> bool
  • added: property EsSigner.algorithm -> str
  • added: property EsSigner.key_id -> Optional[str]
  • added: static method EsSigner.from_string(key: Union[bytes, str], key_id: Optional[str]=…) -> EsSigner
  • added: static method EsVerifier.from_string(public_key: Union[str, bytes]) -> EsVerifier
  • removed: constructor ES256Signer(private_key, key_id=…)
  • removed: constructor ES256Verifier(public_key)
  • removed: method ES256Signer.sign(message)
  • removed: method ES256Verifier.verify(message, signature)
  • removed: property ES256Signer.key_id
  • removed: static method ES256Signer.from_string(key, key_id=…)
  • removed: static method ES256Verifier.from_string(public_key)
  • changed: class ES256Signer(base.Signer, base.FromServiceAccountMixin) → class ES256Signer(EsSigner)
  • changed: class ES256Verifier(base.Verifier) → class ES256Verifier(EsVerifier)
  • removed: variable RSASigner
  • removed: variable RSAVerifier
  • added: class RSASigner(base.Signer, base.FromServiceAccountMixin)
  • added: class RSAVerifier(base.Verifier)
  • added: constructor RSASigner(private_key, key_id=…)
  • added: constructor RSAVerifier(public_key)
  • added: method RSASigner.sign(message)
  • added: method RSAVerifier.verify(message, signature)
  • added: property RSASigner.key_id
  • added: static method RSASigner.from_string(key, key_id=…)
  • added: static method RSAVerifier.from_string(public_key)
  • added: variable RSA_KEY_MODULE_PREFIX
  • changed: constructor Credentials(source_credentials, credential_access_boundary, quota_project_id=…) → constructor Credentials(source_credentials, credential_access_boundary, quota_project_id=…, universe_domain=…)
  • added: variable CLOUDSDK_CONTEXT_AWARE_CERTIFICATE_CONFIG_FILE_PATH
  • added: variable CLOUDSDK_CONTEXT_AWARE_USE_CLIENT_CERTIFICATE
  • added: variable GCE_METADATA_DETECT_RETRIES
  • added: variable GCE_METADATA_MTLS_MODE
  • added: variable GCE_METADATA_TIMEOUT
  • added: variable GOOGLE_API_CERTIFICATE_CONFIG
  • added: variable GOOGLE_API_ENABLE_RUNTIME_BOUND_TOKEN
  • added: variable GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES
  • added: variable GOOGLE_API_USE_MTLS_ENDPOINT
  • added: variable GOOGLE_AUTH_TRUST_BOUNDARY_ENABLED
  • added: variable GOOGLE_CLOUD_QUOTA_PROJECT
  • added: variable NO_GCE_CHECK
  • changed: constructor ReauthFailError(message=…) → constructor ReauthFailError(message=…, **kwargs)
  • added: class InvalidOperation(DefaultCredentialsError, ValueError)
  • added: class InvalidResource(DefaultCredentialsError, ValueError)
  • added: class InvalidType(DefaultCredentialsError, TypeError)
  • added: class InvalidValue(DefaultCredentialsError, ValueError)
  • added: class MalformedError(DefaultCredentialsError, ValueError)
  • added: class OSError(DefaultCredentialsError, EnvironmentError)
  • added: class ReauthSamlChallengeFailError(ReauthFailError)
  • added: class ResponseError(GoogleAuthError)
  • added: class TimeoutError(GoogleAuthError)
  • added: constructor GoogleAuthError(*args, **kwargs)
  • added: property ClientCertError.retryable
  • added: property GoogleAuthError.retryable
  • changed: class Credentials(credentials.Scoped, credentials.CredentialsWithQuotaProject) → class Credentials(credentials.Scoped, credentials.CredentialsWithQuotaProject, credentials.CredentialsWithTokenUri, credentials.CredentialsWithRegionalAccessBoundary)
  • changed: constructor Credentials(audience, subject_token_type, token_url, credential_source, service_account_impersonation_url=…, client_id=…, client_secret=…, quota_project_id=…, scopes=…, default_scopes=…) → constructor Credentials(audience, subject_token_type, token_url, credential_source, service_account_impersonation_url=…, service_account_impersonation_options=…, client_id=…, client_secret=…, token_info_url=…, quota_project_id=…, scopes=…, default_scopes=…, workforce_pool_user_project=…, universe_domain=…, trust_boundary=…)
  • added: class SupplierContext
  • added: field SupplierContext.audience: str
  • added: field SupplierContext.subject_token_type: str
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_token_uri(token_uri)
  • added: method Credentials.with_universe_domain(universe_domain)
  • added: property Credentials.is_workforce_pool
  • added: property Credentials.token_info_url
  • added: static method Credentials.from_file(filename, **kwargs)
  • added: static method Credentials.from_info(info, **kwargs)
  • added: class Credentials(credentials.CredentialsWithQuotaProject, credentials.ReadOnlyScoped, credentials.CredentialsWithTokenUri, credentials.CredentialsWithRegionalAccessBoundary)
  • added: constructor Credentials(token=…, expiry=…, refresh_token=…, audience=…, client_id=…, client_secret=…, token_url=…, token_info_url=…, revoke_url=…, scopes=…, quota_project_id=…, universe_domain=…, trust_boundary=…)
  • added: method Credentials.constructor_args()
  • added: method Credentials.get_cred_info()
  • added: method Credentials.get_project_id(request=…)
  • added: method Credentials.revoke(request)
  • added: method Credentials.to_json(strip=…)
  • added: method Credentials.with_quota_project(quota_project_id)
  • added: method Credentials.with_token_uri(token_uri)
  • added: method Credentials.with_universe_domain(universe_domain)
  • added: property Credentials.audience
  • added: property Credentials.can_refresh
  • added: property Credentials.client_id
  • added: property Credentials.client_secret
  • added: property Credentials.info
  • added: property Credentials.is_user
  • added: property Credentials.refresh_token
  • added: property Credentials.requires_scopes
  • added: property Credentials.revoke_url
  • added: property Credentials.scopes
  • added: property Credentials.token_info_url
  • added: property Credentials.token_url
  • added: static method Credentials.from_file(filename, **kwargs)
  • added: static method Credentials.from_info(info, **kwargs)
  • added: variable IAM_RETRY_CODES
  • changed: constructor Credentials(audience, subject_token_type, token_url, credential_source, service_account_impersonation_url=…, client_id=…, client_secret=…, quota_project_id=…, scopes=…, default_scopes=…) → constructor Credentials(audience, subject_token_type, token_url=…, credential_source=…, subject_token_supplier=…, *args, **kwargs)
  • added: class SubjectTokenSupplier
  • added: method Credentials.refresh(request)
  • added: method SubjectTokenSupplier.get_subject_token(context, request)
  • removed: method Credentials.refresh(request)
  • changed: class Credentials(credentials.CredentialsWithQuotaProject, credentials.Signing) → class Credentials(credentials.Scoped, credentials.CredentialsWithQuotaProject, credentials.Signing, credentials.CredentialsWithRegionalAccessBoundary)
  • changed: constructor Credentials(source_credentials, target_principal, target_scopes, delegates=…, lifetime=…, quota_project_id=…, iam_endpoint_override=…) → constructor Credentials(source_credentials, target_principal, target_scopes, delegates=…, subject=…, lifetime=…, quota_project_id=…, iam_endpoint_override=…, trust_boundary=…)
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_scopes(scopes, default_scopes=…)
  • added: property Credentials.requires_scopes
  • added: static method Credentials.from_impersonated_service_account_info(info, scopes=…)
  • removed: method Credentials.refresh(request)
  • removed: variable es256
  • changed: class Credentials(google.auth.credentials.Signing, google.auth.credentials.CredentialsWithQuotaProject) → class Credentials(google.auth.credentials.Signing, google.auth.credentials.CredentialsWithQuotaProject, google.auth.credentials.CredentialsWithRegionalAccessBoundary)
  • changed: function decode(token, certs=…, verify=…, audience=…) → function decode(token, certs=…, verify=…, audience=…, clock_skew_in_seconds=…)
  • added: property Credentials.additional_claims
  • added: variable es
  • added: function add_metric_header(headers, metric_header_value)
  • added: function byoid_metrics_header(metrics_options)
  • added: function mds_ping()
  • added: function python_and_auth_lib_version()
  • added: function reauth_continue()
  • added: function reauth_start()
  • added: function token_request_access_token_impersonate()
  • added: function token_request_access_token_mds()
  • added: function token_request_access_token_sa_assertion()
  • added: function token_request_id_token_impersonate()
  • added: function token_request_id_token_mds()
  • added: function token_request_id_token_sa_assertion()
  • added: function token_request_user()
  • added: variable API_CLIENT_HEADER
  • added: variable BYOID_HEADER_SECTION
  • added: variable CRED_TYPE_SA_ASSERTION
  • added: variable CRED_TYPE_SA_IMPERSONATE
  • added: variable CRED_TYPE_SA_JWT
  • added: variable CRED_TYPE_SA_MDS
  • added: variable CRED_TYPE_USER
  • added: variable REQUEST_TYPE_ACCESS_TOKEN
  • added: variable REQUEST_TYPE_ID_TOKEN
  • added: variable REQUEST_TYPE_MDS_PING
  • added: variable REQUEST_TYPE_REAUTH_CONTINUE
  • added: variable REQUEST_TYPE_REAUTH_START
  • added: class Credentials(external_account.Credentials)
  • added: constructor Credentials(audience, subject_token_type, token_url, credential_source, *args, **kwargs)
  • added: method Credentials.retrieve_subject_token(request)
  • added: method Credentials.revoke(request)
  • added: property Credentials.external_account_id
  • added: static method Credentials.from_file(filename, **kwargs)
  • added: static method Credentials.from_info(info, **kwargs)
  • added: variable EXECUTABLE_INTERACTIVE_TIMEOUT_MILLIS_LOWER_BOUND
  • added: variable EXECUTABLE_INTERACTIVE_TIMEOUT_MILLIS_UPPER_BOUND
  • added: variable EXECUTABLE_SUPPORTED_MAX_VERSION
  • added: variable EXECUTABLE_TIMEOUT_MILLIS_DEFAULT
  • added: variable EXECUTABLE_TIMEOUT_MILLIS_LOWER_BOUND
  • added: variable EXECUTABLE_TIMEOUT_MILLIS_UPPER_BOUND
  • changed: class Request(object) → class Request
  • changed: class Response(object) → class Response
  • added: variable DEFAULT_RETRYABLE_STATUS_CODES
  • changed: constructor AuthMetadataPlugin(credentials, request, default_host=…) → constructor AuthMetadataPlugin(credentials, request, default_host=…, *, suppress_metrics_header=…)
  • changed: function has_default_client_cert_source() → function has_default_client_cert_source(include_context_aware=…)
  • added: class UseMtlsEndpointMode(enum.Enum)
  • added: field UseMtlsEndpointMode.ALWAYS
  • added: field UseMtlsEndpointMode.AUTO
  • added: field UseMtlsEndpointMode.NEVER
  • added: function get_default_ssl_context() -> Optional[ssl.SSLContext]
  • added: function load_default_client_cert(ctx: ssl.SSLContext) -> bool
  • added: function should_use_client_cert()
  • added: function should_use_mtls_endpoint(client_cert_available: Optional[bool]=…) -> bool
  • changed: constructor Request(session=…) → constructor Request(session: Optional[requests.Session]=…) -> None
  • changed: class AuthorizedHttp(urllib3.request.RequestMethods) → class AuthorizedHttp(RequestMethods)
  • added: variable RequestMethods
  • changed: class ReauthChallenge(object) → class ReauthChallenge
  • added: class SamlChallenge(ReauthChallenge)
  • added: method SamlChallenge.obtain_challenge_input(metadata)
  • added: property SamlChallenge.is_locally_eligible
  • added: property SamlChallenge.name
  • added: variable SAML_CHALLENGE_MESSAGE
  • added: variable WEBAUTHN_TIMEOUT_MS
  • removed: method Credentials.refresh(request)
  • changed: class Credentials(credentials.ReadOnlyScoped, credentials.CredentialsWithQuotaProject) → class Credentials(credentials.CredentialsWithRegionalAccessBoundary, credentials.ReadOnlyScoped, credentials.CredentialsWithQuotaProject)
  • changed: constructor Credentials(token, refresh_token=…, id_token=…, token_uri=…, client_id=…, client_secret=…, scopes=…, default_scopes=…, quota_project_id=…, expiry=…, rapt_token=…, refresh_handler=…) → constructor Credentials(token, refresh_token=…, id_token=…, token_uri=…, client_id=…, client_secret=…, scopes=…, default_scopes=…, quota_project_id=…, expiry=…, rapt_token=…, refresh_handler=…, enable_reauth_refresh=…, granted_scopes=…, trust_boundary=…, universe_domain=…, account=…)
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_account(account)
  • added: method Credentials.with_token_uri(token_uri)
  • added: method Credentials.with_universe_domain(universe_domain)
  • added: property Credentials.account
  • added: property Credentials.granted_scopes
  • added: class ServiceAccountCredentials(credentials.Credentials)
  • added: constructor ServiceAccountCredentials(signer, service_identity_name, project, audience, token_uri, ca_cert_path)
  • added: method ServiceAccountCredentials.refresh(request)
  • added: method ServiceAccountCredentials.with_gdch_audience(audience)
  • added: static method ServiceAccountCredentials.from_service_account_file(filename)
  • added: static method ServiceAccountCredentials.from_service_account_info(info)
  • added: variable ACCESS_TOKEN_TOKEN_TYPE
  • added: variable JWT_LIFETIME
  • added: variable SERVICE_ACCOUNT_TOKEN_TYPE
  • added: variable TOKEN_EXCHANGE_TYPE
  • changed: function fetch_id_token(request, audience) → function fetch_id_token(request, audience, bind_id_token=…)
  • changed: function verify_firebase_token(id_token, request, audience=…) → function verify_firebase_token(id_token, request, audience=…, clock_skew_in_seconds=…)
  • changed: function verify_oauth2_token(id_token, request, audience=…) → function verify_oauth2_token(id_token, request, audience=…, clock_skew_in_seconds=…)
  • changed: function verify_token(id_token, request, audience=…, certs_url=…) → function verify_token(id_token: Union[str, bytes], request: transport.Request, audience: Union[str, list[str], None]=…, certs_url: str=…, clock_skew_in_seconds: int=…) -> Mapping[str, Any]
  • added: function fetch_id_token_credentials(audience, request=…, bind_id_token=…)
  • changed: function refresh_grant(request, token_uri, refresh_token, client_id, client_secret, scopes=…, rapt_token=…) → function refresh_grant(request, token_uri, refresh_token, client_id, client_secret, scopes=…, rapt_token=…, enable_reauth_refresh=…)
  • removed: method Credentials.refresh(request)
  • changed: class Credentials(credentials.Signing, credentials.Scoped, credentials.CredentialsWithQuotaProject) → class Credentials(credentials.Signing, credentials.Scoped, credentials.CredentialsWithQuotaProject, credentials.CredentialsWithTokenUri, credentials.CredentialsWithRegionalAccessBoundary)
  • changed: class IDTokenCredentials(credentials.Signing, credentials.CredentialsWithQuotaProject) → class IDTokenCredentials(credentials.Signing, credentials.CredentialsWithQuotaProject, credentials.CredentialsWithTokenUri)
  • changed: constructor Credentials(signer, service_account_email, token_uri, scopes=…, default_scopes=…, subject=…, project_id=…, quota_project_id=…, additional_claims=…, always_use_jwt_access=…) → constructor Credentials(signer, service_account_email, token_uri, scopes=…, default_scopes=…, subject=…, project_id=…, quota_project_id=…, additional_claims=…, always_use_jwt_access=…, universe_domain=…, trust_boundary=…)
  • changed: constructor IDTokenCredentials(signer, service_account_email, token_uri, target_audience, additional_claims=…, quota_project_id=…) → constructor IDTokenCredentials(signer, service_account_email, token_uri, target_audience, additional_claims=…, quota_project_id=…, universe_domain=…)
  • added: method Credentials.get_cred_info()
  • added: method Credentials.with_token_uri(token_uri)
  • added: method Credentials.with_universe_domain(universe_domain)
  • added: method IDTokenCredentials.with_token_uri(token_uri)
  • added: method Client.refresh_token(request, refresh_token)
  • added: method Client.revoke_token(request, token, token_type_hint, revoke_url)
  • changed: class OAuthClientAuthHandler(object) → class OAuthClientAuthHandler
  • added: class PluginHandler(WebAuthnHandler)
  • added: class WebAuthnHandler(abc.ABC)
  • added: method PluginHandler.get(get_request: GetRequest) -> GetResponse
  • added: method PluginHandler.is_available() -> bool
  • added: method WebAuthnHandler.get(get_request: GetRequest) -> GetResponse
  • added: method WebAuthnHandler.is_available() -> bool
  • added: class WebauthnHandlerFactory
  • added: constructor WebauthnHandlerFactory()
  • added: field WebauthnHandlerFactory.handlers: List[WebAuthnHandler]
  • added: method WebauthnHandlerFactory.get_handler() -> Optional[WebAuthnHandler]
  • added: class AuthenticationExtensionsClientInputs
  • added: class AuthenticatorAssertionResponse
  • added: class GetRequest
  • added: class GetResponse
  • added: class PublicKeyCredentialDescriptor
  • added: field AuthenticationExtensionsClientInputs.appid: Optional[str]
  • added: field AuthenticatorAssertionResponse.authenticator_data: str
  • added: field AuthenticatorAssertionResponse.client_data_json: str
  • added: field AuthenticatorAssertionResponse.signature: str
  • added: field AuthenticatorAssertionResponse.user_handle: Optional[str]
  • added: field GetRequest.allow_credentials: Optional[List[PublicKeyCredentialDescriptor]]
  • added: field GetRequest.challenge: str
  • added: field GetRequest.extensions: Optional[AuthenticationExtensionsClientInputs]
  • added: field GetRequest.origin: str
  • added: field GetRequest.rpid: str
  • added: field GetRequest.timeout_ms: Optional[int]
  • added: field GetRequest.user_verification: Optional[str]
  • added: field GetResponse.authenticator_attachment: Optional[str]
  • added: field GetResponse.client_extension_results: Optional[Dict]
  • added: field GetResponse.id: str
  • added: field GetResponse.response: AuthenticatorAssertionResponse
  • added: field PublicKeyCredentialDescriptor.id: str
  • added: field PublicKeyCredentialDescriptor.transports: Optional[List[str]]
  • added: method AuthenticationExtensionsClientInputs.to_dict()
  • added: method GetRequest.to_json() -> str
  • added: method PublicKeyCredentialDescriptor.to_dict()
  • added: static method GetResponse.from_json(json_str: str)