airflow.providers.google.cloud.utils.external_token_supplier

CacheTokenSupplier

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

ClientCredentialsGrantFlowTokenSupplier

一个类,使用 OAuth2.0 Client Credentials Grant flow 从外部 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)[source]

缓存对 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[source]

Bases: airflow.utils.log.logging_mixin.LoggingMixin, google.auth.identity_pool.SubjectTokenSupplier

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

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

方法

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

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

Bases: CacheTokenSupplier

一个类,使用 OAuth2.0 Client Credentials Grant flow 从外部 IdP 检索 OIDC 令牌。

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

参数 oidc_issuer_url:

执行 OAuth2.0 Client Credentials Grant flow 并返回 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

oidc_issuer_url[source]
client_id[source]
client_secret[source]
extra_params_kwargs[source]
get_subject_token(context, request)[source]

与 IdP 执行 Client Credentials Grant flow 并检索 OIDC 令牌和过期时间。

get_subject_key()[source]

使用 OIDC 发行者 URL、客户端 ID、客户端密钥和额外参数创建一个缓存键。

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

本条目是否有帮助?