InteractiveBrowserCredential 類別

開啟瀏覽器以互動方式驗證使用者。

get_token 會開啟瀏覽器到 Azure Active Directory 提供的登入 URL,並使用 PKCE (Code) Exchange 的證明金鑰在內部驗證使用者,以保護程式碼。

繼承
azure.identity._internal.interactive.InteractiveCredential
InteractiveBrowserCredential

建構函式

InteractiveBrowserCredential(**kwargs: Any)

參數

authority
str

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

tenant_id
str

Azure Active Directory 租使用者識別碼。 預設為可驗證公司或學校帳戶的「組織」租使用者。

client_id
str

Azure Active Directory 應用程式使用者的用戶端識別碼將會登入。 如果未指定,使用者將會向 Azure 開發應用程式進行驗證。

login_hint
str

預先填入登入頁面的使用者名稱/電子郵件地址欄位的使用者名稱建議。 使用者仍可使用不同的使用者名稱登入。

redirect_uri
str

azure Active Directory 中所設定 client_id 所識別之應用程式的重新導向 URI,例如 「 http://localhost:8400 」。 只有在傳遞 client_id的值,而且必須符合應用程式註冊中的重新導向 URI 時,才需要此專案。 認證必須能夠將通訊端系結至此 URI。

authentication_record
AuthenticationRecord

AuthenticationRecord 傳回者 authenticate

disable_automatic_authentication
bool

如果為 True, get_token 則會在需要使用者互動才能取得權杖時引發 AuthenticationRequiredError 。 預設為 False。

cache_persistence_options
TokenCachePersistenceOptions

持續性權杖快取的組態。 如果未指定,認證將會快取記憶體中的權杖。

timeout
int

等候使用者完成驗證的秒數。 預設為 300 (5 分鐘) 。

disable_instance_discovery
bool

判斷嘗試驗證時是否執行實例探索。 將此設定為 true 將會完全停用實例探索和授權單位驗證。 這項功能適用于無法連線到中繼資料端點的情況,例如私人雲端或 Azure Stack。 實例探索的程式需要從 https://login.microsoft.com/ 擷取授權單位中繼資料,以驗證授權單位。 藉由將此設定為 True,即會停用授權單位的驗證。 因此,請務必確保已設定的授權主機有效且值得信任。

範例

建立 InteractiveBrowserCredential。


   from azure.identity import InteractiveBrowserCredential

   credential = InteractiveBrowserCredential(
       client_id="<client_id>",
   )

方法

authenticate

以互動方式驗證使用者。

close
get_token

要求 範圍的存取權杖。

Azure SDK 用戶端會自動呼叫此方法。

authenticate

以互動方式驗證使用者。

authenticate(**kwargs: Any) -> AuthenticationRecord

參數

scopes
Iterable[str]

在驗證期間要求的範圍,例如 所提供的 scopes 範圍。 如果提供,成功的驗證將會快取這些範圍的存取權杖。

claims
str

權杖中所需的其他宣告,例如 所提供的宣告 claims

傳回類型

例外狀況

驗證失敗。 錯誤的 message 屬性會提供原因。

close

close() -> None

例外狀況

驗證失敗。 錯誤的 message 屬性會提供原因。

get_token

要求 範圍的存取權杖。

Azure SDK 用戶端會自動呼叫此方法。

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

需要使用者互動才能取得權杖,而且認證設定為不會自動開始。 呼叫

以開始互動式驗證。