OAuth モジュール

exception TIPCommon.oauth.AuthenticationError

ベース: Exception

認証エラーの一般的な例外。

class TIPCommon.oauth.AuthorizedOauthClient

クラス TIPCommon.oauth.AuthorizedOauthClient(oauth_manager: OauthManager, *args, **kwargs)

ベース: Client

このクラスは、API 呼び出しの承認済みクライアントを表します。

メソッド

  • close()→ None トークンを保存して、クライアント セッションを閉じます。

  • request(*args, **kwargs)→ Response 認証情報の自動更新をサポートするためのオーバーライド。このメソッドは、リクエストを実行する前に認証情報の有効期限が切れているかどうかを確認し、レスポンスを検証して、有効期限切れの認証情報が示されているかどうかを確認します。その場合は、更新されたトークンを使用してリクエストを再度実行します。

class TIPCommon.oauth.CredStorage

クラス TIPCommon.oauth.CredStorage(encryption_password: str, chronicle_soar: SiemplifyAction | SiemplifyConnectorExecution | SiemplifyJob)

ベース: オブジェクト

認証情報の保存と取得を管理します。

メソッド

  • get_instance_identifier()→ str コネクタまたはインテグレーションの Google SecOps インスタンス識別子を取得します。

  • get_token()→ OauthToken | None コンテキスト データベースからトークンを抽出して復号します。

  • set_token(token: OauthToken)→ None トークンを暗号化してコンテキスト データベースに保存します。

exception TIPCommon.oauth.EncryptionError

ベース: Exception

暗号化エラーの一般的な例外。

class TIPCommon.oauth.OAuthAdapter

ベース: ABC

OAuth オペレーションのインターフェースを定義する抽象基本クラス。

抽象メソッド

  • abstractcheck_signer(token: OauthToken)→ bool 署名者が有効な場合は True、それ以外の場合は False を返します。

  • abstractprepare_authorized_client(token: OauthToken, auth_client: AuthorizedOauthClient)→ AuthorizedOauthClient 認証済みクライアントのヘッダーやその他の必要なクライアント構成を設定します。

  • abstractrefresh_token()→ OauthToken トークンを更新し、OauthToken データモデルを返します。

  • abstract static validate_bad_credentials(response: Response)→ bool レスポンスが期限切れの認証情報を示しているかどうかを確認します。

発生

AuthenticationError - レスポンスで認証情報の期限切れが示されている場合。

class TIPCommon.oauth.OauthManager

クラス TIPCommon.oauth.OauthManager(oauth_adapter: OAuthAdapter, cred_storage: CredStorage)

ベース: オブジェクト

トークンの更新やクライアントの準備など、OAuth 認証フローを管理します。

メソッド

  • prepare_authorized_client(auth_client: AuthorizedOauthClient)→ AuthorizedOauthClient 使用する認可済みクライアントを準備します。

  • refresh_if_bad_credentials(auth_client: AuthorizedOauthClient, response: Response)→ bool レスポンスで認証情報が無効であることが示された場合、トークンを更新します。

  • refresh_if_expired(auth_client: AuthorizedOauthClient)→ bool トークンの有効期限が切れている場合は、トークンを更新します。

  • save_token()→ None 現在のトークンを保存します。

class TIPCommon.oauth.OauthToken

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

ベース: オブジェクト

関連データを含む OAuth トークンを表します。

プロパティ

属性 説明
access_token str

アクセス トークン文字列。

additional_data MutableMapping[str, Any]

トークンに関連付けられた追加データ。

expiration_time int

トークンの有効期限(Unix タイムスタンプ)。

refresh_token str

更新トークン文字列。

デフォルトは None です。

signer str

トークンの署名者。

デフォルトは None です。

メソッド

  • to_cache()→ JsonString OauthToken オブジェクトをキャッシュ保存に適した形式にシリアル化します。

classmethod from_cache

classmethod from_cache(raw_data: JsonString)→ OauthToken

未加工のキャッシュ データから OauthToken オブジェクトを作成します。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。