# # Copyright (c) 2024 Airbyte, Inc., all rights reserved. # from dataclasses import dataclass from airbyte_cdk.sources.declarative.auth.oauth import DeclarativeSingleUseRefreshTokenOauth2Authenticator from airbyte_cdk.sources.declarative.types import Config @dataclass class SingleUseOauth2Authenticator(DeclarativeSingleUseRefreshTokenOauth2Authenticator): config: Config def __post_init__(self): self._connector_config = self.config self._token_expiry_date_config_path = "credentials/token_expiry_date" self.token_refresh_endpoint = "https://accounts.salesloft.com/oauth/token" self._access_token_config_path = "credentials/access_token" @property def auth_header(self) -> str: return "Authorization" @property def token(self) -> str: return f"Bearer {self.get_access_token()}"