OAuth 模組

exception TIPCommon.oauth.AuthenticationError

基底:例外狀況

驗證錯誤的一般例外狀況。

class TIPCommon.oauth.AuthorizedOauthClient

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

基礎:客戶

這個類別代表 API 呼叫的授權用戶端。

方法

  • close()→ None 儲存權杖並關閉用戶端工作階段。

  • request(*args, **kwargs)→ Response 覆寫,支援自動重新整理憑證。這個方法會在執行要求前檢查憑證是否過期,並驗證回應,確認是否指出憑證已過期。如果是,系統會使用更新後的權杖再次執行要求。

class TIPCommon.oauth.CredStorage

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

基底:object

管理憑證的儲存和擷取作業。

方法

  • get_instance_identifier()→ str 取得連接器或整合項目的 Google SecOps 執行個體 ID。

  • get_token()→ OauthToken | None 從內容資料庫擷取並解密權杖。

  • set_token(token: OauthToken)→ None 將權杖加密並儲存至內容資料庫。

exception TIPCommon.oauth.EncryptionError

基底:例外狀況

加密錯誤的一般例外狀況。

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)

基底:object

管理 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>)

基底:object

代表 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 專業人員尋求答案。