CertificateCredential 類別
使用憑證驗證為服務主體。
憑證必須具有 RSA 私密金鑰,因為此認證會使用 RS256 簽署判斷提示。 如需設定憑證驗證的詳細資訊,請參閱 Azure Active Directory 檔 。
- 繼承
-
azure.identity.aio._internal.AsyncContextManagerCertificateCredentialazure.identity.aio._internal.get_token_mixin.GetTokenMixinCertificateCredential
建構函式
CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)
參數
- authority
- str
Azure Active Directory 端點的授權單位,例如「login.microsoftonline.com」,即 Azure 公用雲端 (的授權單位,這是預設) 。 AzureAuthorityHosts 定義其他雲端的授權單位。
- certificate_data
- bytes
PEM 格式的憑證位元組,包括私密金鑰
- cache_persistence_options
- TokenCachePersistenceOptions
持續性權杖快取的組態。 如果未指定,認證將會快取記憶體中的權杖。
除了認證可能會取得權杖的指定「tenant_id」之外,指定租使用者。 新增萬用字元值 「*」,以允許認證取得應用程式可存取之任何租使用者的權杖。
範例
建立 CertificateCredential。
from azure.identity.aio import CertificateCredential
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_path="<path to PEM/PKCS12 certificate>",
password="<certificate password if necessary>",
)
# Certificate/private key byte data can also be passed directly
credential = CertificateCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
certificate_data=b"<cert data>",
)
方法
close |
關閉認證的傳輸會話。 |
get_token |
要求 範圍的存取權杖。 Azure SDK 用戶端會自動呼叫此方法。 |
close
關閉認證的傳輸會話。
async close() -> None
get_token
要求 範圍的存取權杖。
Azure SDK 用戶端會自動呼叫此方法。
async get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
參數
- scopes
- str
存取權杖所需的範圍。 此方法至少需要一個範圍。 如需範圍的詳細資訊,請參閱 https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc 。
- claims
- str
權杖中所需的其他宣告,例如在授權失敗之後,在資源提供者的宣告挑戰中傳回的其他宣告。
- tenant_id
- str
要包含在權杖要求中的選擇性租使用者。
- enable_cae
- bool
會指出是否針對要求的權杖啟用持續存取評估 (CAE) 。 預設為 False。
傳回
具有所需範圍的存取權杖。
傳回類型
例外狀況
認證無法嘗試驗證,因為它缺少必要的資料、狀態或平臺支援
驗證失敗。 錯誤的 message
屬性會提供原因。