OAuth-Modul

exception TIPCommon.oauth.AuthenticationError

Bases: Exception

Eine allgemeine Ausnahme für Authentifizierungsfehler.

class TIPCommon.oauth.AuthorizedOauthClient

class TIPCommon.oauth.AuthorizedOauthClient(oauth_manager: OauthManager, *args, **kwargs)

Basis: Client

Diese Klasse stellt einen autorisierten Client für API-Aufrufe dar.

Methoden

  • close()→ None Speichert das Token und schließt die Clientsitzung.

  • request(*args, **kwargs)→ Response Überschreibt die automatische Aktualisierung von Anmeldedaten. Die Methode prüft, ob Anmeldedaten abgelaufen sind, bevor die Anfrage ausgeführt wird, und validiert die Antwort, um festzustellen, ob abgelaufene Anmeldedaten angegeben sind. Wenn ja, wird die Anfrage mit einem aktualisierten Token noch einmal ausgeführt.

class TIPCommon.oauth.CredStorage

class TIPCommon.oauth.CredStorage(encryption_password: str, chronicle_soar: SiemplifyAction | SiemplifyConnectorExecution | SiemplifyJob)

Basiert auf: object

Verwaltet das Speichern und Abrufen von Anmeldedaten.

Methoden

  • get_instance_identifier()→ str Ruft die Google SecOps-Instanzkennung des Connectors oder der Integration ab.

  • get_token()→ OauthToken | None Extrahiert und entschlüsselt ein Token aus der Kontextdatenbank.

  • set_token(token: OauthToken)→ None Verschlüsselt ein Token und speichert es in der Kontextdatenbank.

exception TIPCommon.oauth.EncryptionError

Bases: Exception

Eine allgemeine Ausnahme für Verschlüsselungsfehler.

class TIPCommon.oauth.OAuthAdapter

Basis: ABC

Eine abstrakte Basisklasse, die die Schnittstelle für OAuth-Vorgänge definiert.

Abstrakte Methoden

  • abstractcheck_signer(token: OauthToken)→ bool Gibt True zurück, wenn der Unterzeichner gültig ist, andernfalls False.

  • abstractprepare_authorized_client(token: OauthToken, auth_client: AuthorizedOauthClient)→ AuthorizedOauthClient Legt Header oder andere erforderliche Clientkonfigurationen für den autorisierten Client fest.

  • abstractrefresh_token()→ OauthToken Aktualisiert das Token und gibt das Datenmodell OauthToken zurück.

  • abstract static validate_bad_credentials(response: Response)→ bool Prüft, ob die Antwort abgelaufene Anmeldedaten enthält.

Löst aus

AuthenticationError: Wenn in der Antwort abgelaufene Anmeldedaten angegeben sind.

class TIPCommon.oauth.OauthManager

class TIPCommon.oauth.OauthManager(oauth_adapter: OAuthAdapter, cred_storage: CredStorage)

Basiert auf: object

Verwaltet OAuth-Authentifizierungsabläufe, einschließlich der Aktualisierung von Tokens und der Clientvorbereitung.

Methoden

  • prepare_authorized_client(auth_client: AuthorizedOauthClient)→ AuthorizedOauthClient Bereitet einen autorisierten Client für die Verwendung vor.

  • refresh_if_bad_credentials(auth_client: AuthorizedOauthClient, response: Response)→ bool Aktualisiert das Token, wenn die Antwort auf ungültige Anmeldedaten hinweist.

  • refresh_if_expired(auth_client: AuthorizedOauthClient)→ bool Aktualisiert das Token, wenn es abgelaufen ist.

  • save_token()→ None Speichert das aktuelle Token.

class TIPCommon.oauth.OauthToken

class TIPCommon.oauth.OauthToken(access_token: 'str', expiration_time: 'int', refresh_token: 'str' = None, signer: 'str' = None, additional_data: 'SingleJson' = <factory>)

Basiert auf: object

Stellt ein OAuth-Token mit den zugehörigen Daten dar.

Eigenschaften

Attribut Beschreibung
access_token str

Der Zugriffstokenstring.

additional_data MutableMapping[str, Any]

Zusätzliche Daten, die dem Token zugeordnet sind.

expiration_time int

Die Ablaufzeit des Tokens (Unix-Zeitstempel).

refresh_token str

Der Aktualisierungstokenstring.

Die Standardeinstellung ist None.

signer str

Der Unterzeichner des Tokens.

Die Standardeinstellung ist None.

Methoden

  • to_cache()→ JsonString Serialisiert das OauthToken-Objekt in ein Format, das für das Caching geeignet ist.

Klassenmethode from_cache

classmethod from_cache(raw_data: JsonString)→ OauthToken

Erstellt ein OauthToken-Objekt aus Rohdaten im Cache.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten