module documentation

Authorization interfaces used by the async SDK.

This module defines two abstract interfaces used by the SDK to perform request-time authorization.

Typical usage within the request lifecycle

The Provider is the object passed to request constructors and prior to sending an RPC the request layer calls Provider.authenticator() to obtain an Authenticator.

The Authenticator instance returned by the provider is treated as a per-request authorizer: it is responsible for ensuring the provided nebius.base.metadata.Metadata contains the headers needed for that request only (for example an Authorization bearer token). If an authentication-related failure occurs, the request layer will consult Authenticator.can_retry and will retry with the same authenticator.

Class Authenticator Abstract interface for performing per-request authentication.
Class Provider Factory abstraction that supplies an Authenticator.