airflow.providers.google.cloud.utils.external_token_supplier

模块内容

CacheTokenSupplier

所有希望实现缓存机制的 Subject Token Supplier 类的超类。

ClientCredentialsGrantFlowTokenSupplier

该类使用 OAuth2.0 客户端凭据授权流程从外部 IdP 检索 OIDC 令牌。

函数

cache_token_decorator(get_subject_token_method)

缓存对 SubjectTokenSupplier 实例的 get_token_supplier 方法的调用。

airflow.providers.google.cloud.utils.external_token_supplier.cache_token_decorator(get_subject_token_method)[源代码]

缓存对 SubjectTokenSupplier 实例的 get_token_supplier 方法的调用。

具有相同属性的相同 SubjectTokenSupplier 类的不同实例共享 OIDC 令牌缓存。

参数

get_subject_token_method – 返回令牌和指定令牌过期前的秒数的整数的方法

另请参阅

https://googleapis.dev/python/google-auth/latest/reference/google.auth.identity_pool.html#google.auth.identity_pool.SubjectTokenSupplier.get_subject_token

class airflow.providers.google.cloud.utils.external_token_supplier.CacheTokenSupplier[源代码]

基类:airflow.utils.log.logging_mixin.LoggingMixingoogle.auth.identity_pool.SubjectTokenSupplier

所有希望实现缓存机制的 Subject Token Supplier 类的超类。

子类必须实现 get_subject_key 方法以生成用作缓存键的字符串,确保令牌在实例之间适当共享。

方法

get_subject_key:由子类实现的抽象方法。它应返回一个用作缓存键的字符串。

abstract get_subject_key()[源代码]
class airflow.providers.google.cloud.utils.external_token_supplier.ClientCredentialsGrantFlowTokenSupplier(oidc_issuer_url, client_id, client_secret, **extra_params_kwargs)[源代码]

基类:CacheTokenSupplier

该类使用 OAuth2.0 客户端凭据授权流程从外部 IdP 检索 OIDC 令牌。

此类实现 google.auth.identity_pool.Credentials 使用的 SubjectTokenSupplier 接口类

参数 oidc_issuer_url

执行 OAuth2.0 客户端凭据授权流程并返回 OIDC 令牌的 IdP 的 URL。

参数 client_id

请求令牌的应用程序的客户端 ID

参数 client_secret

请求令牌的应用程序的客户端密钥

参数 extra_params_kwargs

要传递到 oidc_issuer_url 的 POST 请求负载中的额外参数

另请参阅

https://googleapis.dev/python/google-auth/latest/reference/google.auth.identity_pool.html#google.auth.identity_pool.SubjectTokenSupplier

get_subject_token(context, request)[源代码]

使用 IdP 执行客户端凭据授权流程,并检索 OIDC 令牌和过期时间。

get_subject_key()[源代码]

使用 OIDC 颁发者 URL、客户端 ID、客户端密钥和其他参数创建缓存键。

具有相同凭据的实例将共享令牌。

此条目是否有帮助?