multiversx_sdk.native_auth package
Submodules
multiversx_sdk.native_auth.config module
- class multiversx_sdk.native_auth.config.NativeAuthCacheInterface(*args, **kwargs)[source]
Bases:
Protocol
- class multiversx_sdk.native_auth.config.NativeAuthClientConfig(origin: str = '', api_url: str = 'https://api.multiversx.com', expiry_seconds: int = 7200, block_hash_shard: int | None = None, gateway_url: str | None = None, extra_request_headers: dict[str, str] | None = None)[source]
Bases:
object
- class multiversx_sdk.native_auth.config.NativeAuthServerConfig(api_url: str = 'https://api.multiversx.com', accepted_origins: list[str] = <factory>, validate_impersonate_url: str | None = None, validate_impersonate_callback: ~typing.Callable[[str, str], bool] | None = None, is_origin_accepted: ~typing.Callable[[str], bool] | None = None, max_expiry_seconds: int = 86400, skip_legacy_validation: bool = False, extra_request_headers: dict[str, str] | None = None, verify_signature: ~typing.Callable[[str, str, bytes], bool] | None = None)[source]
Bases:
object
Configuration for Native Authentication.
- Attributes:
api_url: Optional API URL (default: https://api.multiversx.com). accepted_origins: Mandatory list of accepted origins (must have at least one value). validate_impersonate_url: Optional endpoint for validating impersonation. validate_impersonate_callback: Optional callback function to validate impersonation. is_origin_accepted: Optional callback to validate an origin dynamically. max_expiry_seconds: Maximum allowed TTL (default: 86400 seconds, one day). skip_legacy_validation: Determines whether legacy signature validation should be skipped. extra_request_headers: Optional extra request headers. verify_signature: Optional function to verify signatures.
- accepted_origins: list[str]
- api_url: str = 'https://api.multiversx.com'
- extra_request_headers: dict[str, str] | None = None
- is_origin_accepted: Callable[[str], bool] | None = None
- max_expiry_seconds: int = 86400
- skip_legacy_validation: bool = False
- validate_impersonate_callback: Callable[[str, str], bool] | None = None
- validate_impersonate_url: str | None = None
- verify_signature: Callable[[str, str, bytes], bool] | None = None
multiversx_sdk.native_auth.errors module
- exception multiversx_sdk.native_auth.errors.NativeAuthClientError(message: str)[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidBlockHashError(block_hash: str)[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidConfigError(message: str)[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidImpersonateError[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidSignatureError[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidTokenTtlError(current_ttl: int, max_ttl: int)[source]
Bases:
Exception
- exception multiversx_sdk.native_auth.errors.NativeAuthInvalidWildcardOriginError(origin: str)[source]
Bases:
Exception
multiversx_sdk.native_auth.native_auth_client module
- class multiversx_sdk.native_auth.native_auth_client.NativeAuthClient(config: NativeAuthClientConfig | None = None)[source]
Bases:
object
multiversx_sdk.native_auth.native_auth_server module
- class multiversx_sdk.native_auth.native_auth_server.NativeAuthServer(config: NativeAuthServerConfig, cache: NativeAuthCacheInterface | None = None)[source]
Bases:
object
- decode(access_token: str) NativeAuthDecoded [source]
- validate(access_token: str) NativeAuthValidateResult [source]
multiversx_sdk.native_auth.resources module
- class multiversx_sdk.native_auth.resources.NativeAuthDecoded(ttl: int = 0, origin: str = '', address: multiversx_sdk.core.address.Address = <factory>, signature: bytes = b'', block_hash: str = '', body: str = '', extra_info: Any = None)[source]
Bases:
object
- block_hash: str = ''
- body: str = ''
- extra_info: Any = None
- origin: str = ''
- signature: bytes = b''
- ttl: int = 0
- class multiversx_sdk.native_auth.resources.NativeAuthValidateResult(issued: int = 0, expires: int = 0, address: multiversx_sdk.core.address.Address = <factory>, signer_address: multiversx_sdk.core.address.Address = <factory>, origin: str = '', extra_info: dict[str, str] = <factory>)[source]
Bases:
object
- expires: int = 0
- extra_info: dict[str, str]
- issued: int = 0
- origin: str = ''
Module contents
- class multiversx_sdk.native_auth.NativeAuthClient(config: NativeAuthClientConfig | None = None)[source]
Bases:
object
- class multiversx_sdk.native_auth.NativeAuthClientConfig(origin: str = '', api_url: str = 'https://api.multiversx.com', expiry_seconds: int = 7200, block_hash_shard: int | None = None, gateway_url: str | None = None, extra_request_headers: dict[str, str] | None = None)[source]
Bases:
object
- class multiversx_sdk.native_auth.NativeAuthServer(config: NativeAuthServerConfig, cache: NativeAuthCacheInterface | None = None)[source]
Bases:
object
- decode(access_token: str) NativeAuthDecoded [source]
- validate(access_token: str) NativeAuthValidateResult [source]
- class multiversx_sdk.native_auth.NativeAuthServerConfig(api_url: str = 'https://api.multiversx.com', accepted_origins: list[str] = <factory>, validate_impersonate_url: str | None = None, validate_impersonate_callback: ~typing.Callable[[str, str], bool] | None = None, is_origin_accepted: ~typing.Callable[[str], bool] | None = None, max_expiry_seconds: int = 86400, skip_legacy_validation: bool = False, extra_request_headers: dict[str, str] | None = None, verify_signature: ~typing.Callable[[str, str, bytes], bool] | None = None)[source]
Bases:
object
Configuration for Native Authentication.
- Attributes:
api_url: Optional API URL (default: https://api.multiversx.com). accepted_origins: Mandatory list of accepted origins (must have at least one value). validate_impersonate_url: Optional endpoint for validating impersonation. validate_impersonate_callback: Optional callback function to validate impersonation. is_origin_accepted: Optional callback to validate an origin dynamically. max_expiry_seconds: Maximum allowed TTL (default: 86400 seconds, one day). skip_legacy_validation: Determines whether legacy signature validation should be skipped. extra_request_headers: Optional extra request headers. verify_signature: Optional function to verify signatures.
- accepted_origins: list[str]
- api_url: str = 'https://api.multiversx.com'
- extra_request_headers: dict[str, str] | None = None
- is_origin_accepted: Callable[[str], bool] | None = None
- max_expiry_seconds: int = 86400
- skip_legacy_validation: bool = False
- validate_impersonate_callback: Callable[[str, str], bool] | None = None
- validate_impersonate_url: str | None = None
- verify_signature: Callable[[str, str, bytes], bool] | None = None