From e5c207c1d883729f8bd5527ac76116e0dfc32d96 Mon Sep 17 00:00:00 2001 From: LiangQuan Date: Tue, 21 Oct 2025 17:37:33 +0800 Subject: [PATCH] fix: improve credential handling in session initialization --- pai/session.py | 9 +++++++-- pai/toolkit/config.py | 18 ++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/pai/session.py b/pai/session.py index 1665e26..8e2ad01 100644 --- a/pai/session.py +++ b/pai/session.py @@ -569,8 +569,13 @@ def _get_default_credential_client() -> Optional[CredentialClient]: try: # Initialize the credential client with default credential chain. # see: https://help.aliyun.com/zh/sdk/developer-reference/v2-manage-python-access-credentials#3ca299f04bw3c - return CredentialClient() - except CredentialException: + client = CredentialClient() + client.get_credential() + return client + except Exception as e: + logger.debug( + "Not found credential from default credential provider chain: %s", e + ) return @staticmethod diff --git a/pai/toolkit/config.py b/pai/toolkit/config.py index a03465a..27a0036 100644 --- a/pai/toolkit/config.py +++ b/pai/toolkit/config.py @@ -86,9 +86,14 @@ def _get_default_credential_client() -> Optional[CredentialClient]: try: - return CredentialClient() - except CredentialException: - logger.debug("Not found credential from default credential provider chain.") + client = CredentialClient() + client.get_credential() + return client + except Exception as e: + logger.info( + "Not found credential from default credential provider chain: %s", e + ) + return None class CredentialProviderType(Enum): @@ -216,9 +221,10 @@ def prompt_for_credential(): ) ) - access_key_id = credential_client.get_access_key_id() - access_key_secret = credential_client.get_access_key_secret() - security_token = credential_client.get_security_token() + credential = credential_client.get_credential() + access_key_id = credential.get_access_key_id() + access_key_secret = credential.get_access_key_secret() + security_token = credential.get_security_token() print_highlight(f"AccessKeyId: {access_key_id}") print_highlight(f"AccessKeySecret: { mask_secret(access_key_secret)}")