OnBehalfOfCredential 類別

透過代理者流程驗證服務主體。

此流程通常由仲介層服務使用,以授權具有委派使用者身分識別的其他服務要求。 由於這不是互動式驗證流程,因此使用的應用程式必須先取得任何委派許可權的管理員同意,才能要求權杖。 如需代表流程的詳細描述,請參閱 Azure Active Directory 檔

繼承
azure.identity.aio._internal.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

建構函式

OnBehalfOfCredential(tenant_id: str, client_id: str, *, client_certificate: bytes | None = None, client_secret: str | None = None, user_assertion: str, **kwargs: Any)

參數

tenant_id
str
必要

服務主體租使用者的識別碼。 也稱為其 「目錄」識別碼。

client_id
str
必要

服務主體的用戶端識別碼

client_secret
str

選擇性。 用來驗證服務主體的用戶端密碼。 必須提供 client_secretclient_certificate

client_certificate
bytes

選擇性。 PEM 或 PKCS12 格式憑證的位元組,包括用來驗證服務主體的私密金鑰。 必須提供 client_secretclient_certificate

user_assertion
str

必要。 認證在要求代表權杖時,認證將用來作為使用者判斷提示的存取權杖

authority
str

Azure Active Directory 端點的授權單位,例如「login.microsoftonline.com」,Azure 公用雲端的授權單位 (,這是預設) 。 AzureAuthorityHosts 定義其他雲端的授權單位。

password
strbytes

憑證密碼。 只有在提供 client_certificate 時才使用。 如果此值是 unicode 字串,則會將其編碼為 UTF-8。 如果憑證需要不同的編碼方式,請改為傳遞適當編碼的位元組。

additionally_allowed_tenants
List[str]

除了認證可能取得權杖的指定「tenant_id」之外,指定租使用者。 新增萬用字元值 「*」,以允許認證取得應用程式可存取之任何租使用者的權杖。

範例

建立 OnBehalfOfCredential。


   from azure.identity.aio import OnBehalfOfCredential

   credential = OnBehalfOfCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       client_secret="<client_secret>",
       user_assertion="<access_token>",
   )

方法

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 屬性會提供原因。