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.
In plain terms
- 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.
Must act 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.
What you must change
Platform2
Drops support for Python 3.8 and 3.9.
Declares support for Python 3.15.
Deprecations to plan for
Deprecated1
Adds a deprecation warning for grpcio versions below 1.83.0 due to PQC support.
grpcioAPI changes
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)