共用方式為


AuthenticationContext 類別

從 Azure Active Directory 擷取驗證權杖。

如需使用方式,請參閱下列位置的「範例」資料夾: https://github.com/AzureAD/azure-activedirectory-library-for-python

建立新的 AuthenticationCoNtext 物件。

根據預設,系統會根據已知的 Azure Active Directory 授權單位清單來檢查授權單位。 如果授權單位無法辨識為下列其中一個已知授權單位,權杖取得將會失敗。 您可以透過下列validate_authority參數關閉此行為。

繼承
builtins.object
AuthenticationContext

建構函式

AuthenticationContext(authority, validate_authority=None, cache=None, api_version=None, timeout=None, enable_pii=False, verify_ssl=None, proxies=None)

參數

authority
str
必要

識別權杖授權單位的 URL。 其格式應為 https://login.microsoftonline.com/your_tenant

validate_authority
bool
預設值: None

(選擇性) 開啟或關閉授權單位驗證。 此參數預設為 true。

cache
TokenCache
預設值: None

(選擇性) 設定這個 AuthenticationCoNtext 實例所使用的權杖快取。 如果未設定此參數,則會使用預設值。 快取實例只供該 AuthenticationCoNtext 實例使用,除非已在建構其他 AuthenticationCoNtexts 期間手動傳遞,否則不會共用該實例。

api_version
預設值: None

(選擇性) 指定在連線上使用 的 API 版本。 在過去,其硬式編碼的預設值為 「1.0」。 鼓勵開發人員明確地將它設定為 [無],這表示會自動選擇基礎 API 版本。 從 ADAL Python 1.0 開始,此預設值會變成 None。

timeout
預設值: None

(選擇性) 要求逾時。 在放棄之前等待伺服器傳送資料的時間長度,以浮點數或 (連接逾時,讀取逾時) Tuple。

enable_pii
預設值: False

(選擇性) 除非將此設定為 True,否則不會在記錄檔中寫入個人識別資訊 (PII) 。

verify_ssl
預設值: None

(選擇性) 要求驗證。 布林值,在此情況下,它會控制我們驗證服務器的 TLS 憑證或字串,在此情況下,它必須是要使用的 CA 套件組合路徑。 如果未提供此值,且已設定 ADAL_PYTHON_SSL_NO_VERIFY env varaible,則行為相當於 verify_ssl=False。

proxies
預設值: None

(選擇性) 要求 Proxy。 字典對應通訊協定與 Proxy 的 URL。 如需詳細資訊,請參閱<http://docs.python-requests.org/en/master/user/advanced/#proxies>。

方法

acquire_token

透過快取權杖取得指定資源的權杖。

acquire_token_with_authorization_code

透過伺服器應用程式的授權碼,取得指定資源的權杖。

acquire_token_with_client_certificate

透過憑證認證取得指定資源的權杖

acquire_token_with_client_credentials

透過用戶端認證取得指定資源的權杖。

acquire_token_with_device_code

透過裝置程式碼取得新的存取權杖。

acquire_token_with_refresh_token

透過重新整理權杖取得指定資源的權杖

acquire_token_with_username_password

透過使用者 credentails 取得指定資源的權杖。

acquire_user_code

取得包含user_code的使用者程式碼資訊,device_code在裝置上驗證使用者。

cancel_request_to_get_token_with_device_code

取消輪詢要求,以取得具有裝置程式碼的權杖。

acquire_token

透過快取權杖取得指定資源的權杖。

acquire_token(resource, user_id, client_id)

參數

resource
str
必要

URI,識別權杖有效的資源。

user_id
str
必要

代表此應用程式驗證使用者的使用者名稱。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

傳回

具有數個索引鍵的 dic,包括 「accessToken」 和 「refreshToken」。

acquire_token_with_authorization_code

透過伺服器應用程式的授權碼,取得指定資源的權杖。

acquire_token_with_authorization_code(authorization_code, redirect_uri, resource, client_id, client_secret=None, code_verifier=None)

參數

authorization_code
str
必要

從用戶端傳回的授權碼。

redirect_uri
str
必要

授權呼叫中使用的重新導向 URI。

resource
str
必要

URI,識別權杖有效的資源。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

client_secret
str
預設值: None

(僅適用于) 呼叫應用程式的 OAuth 用戶端密碼的機密用戶端。 如果未設定此參數,則預設為 None

code_verifier
str
預設值: None

(選擇性) 如果 PKCE 用於授權碼授與要求中,則用來取得授權碼的程式碼驗證器。 (公用用戶端通常會使用) 此參數,如果未設定,則預設為 None

傳回

具有數個索引鍵的聽寫,包括 「accessToken」 和 「refreshToken」。

acquire_token_with_client_certificate

透過憑證認證取得指定資源的權杖

acquire_token_with_client_certificate(resource, client_id, certificate, thumbprint, public_certificate=None)

參數

resource
str
必要

URI,識別權杖有效的資源。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

certificate
str
必要

PEM 編碼的憑證私密金鑰。

thumbprint
str
必要

憑證的十六進位編碼指紋。

public_certificate
預設值: None

如果不是 None,則會將它傳送至服務,以進行主體名稱和簽發者型驗證,也就是支援憑證自動變換。 此值必須符合憑證私密金鑰參數。

傳回

具有數個索引鍵的聽寫,包括 「accessToken」。

acquire_token_with_client_credentials

透過用戶端認證取得指定資源的權杖。

acquire_token_with_client_credentials(resource, client_id, client_secret)

參數

resource
str
必要

URI,識別權杖有效的資源。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

client_secret
str
必要

呼叫應用程式的 OAuth 用戶端密碼。

傳回

具有數個索引鍵的聽寫,包括 「accessToken」。

acquire_token_with_device_code

透過裝置程式碼取得新的存取權杖。

acquire_token_with_device_code(resource, user_code_info, client_id)

參數

resource
str
必要

URI,識別權杖有效的資源。

user_code_info
dict
必要

叫用 「acquire_user_code」 的程式碼資訊

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

傳回

具有數個索引鍵的聽寫,包括 「accessToken」 和 「refreshToken」。

acquire_token_with_refresh_token

透過重新整理權杖取得指定資源的權杖

acquire_token_with_refresh_token(refresh_token, client_id, resource, client_secret=None)

參數

refresh_token
str
必要

從先前的 acquireToken 調用傳回的 tokne 回應中傳回的重新整理權杖。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

resource
str
必要

URI,識別權杖有效的資源。

client_secret
str
預設值: None

(選擇性) 呼叫應用程式的 OAuth 用戶端密碼。

傳回

具有數個索引鍵的聽寫,包括 「accessToken」 和 「refreshToken」。

acquire_token_with_username_password

透過使用者 credentails 取得指定資源的權杖。

acquire_token_with_username_password(resource, username, password, client_id)

參數

resource
str
必要

URI,識別權杖有效的資源。

username
str
必要

代表此應用程式驗證使用者的使用者名稱。

password
str
必要

使用者名稱參數中名為 的使用者密碼。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

傳回

具有數個索引鍵的聽寫,包括 「accessToken」 和 「refreshToken」。

acquire_user_code

取得包含user_code的使用者程式碼資訊,device_code在裝置上驗證使用者。

acquire_user_code(resource, client_id, language=None)

參數

resource
str
必要

URI,識別device_code和user_code有效的資源。

client_id
str
必要

呼叫應用程式的 OAuth 用戶端識別碼。

language
str
預設值: None

指定訊息當地語系化方式的語言代碼。

傳回

dict 包含可讓使用者透過瀏覽器登入的程式碼和 URI。

cancel_request_to_get_token_with_device_code

取消輪詢要求,以取得具有裝置程式碼的權杖。

cancel_request_to_get_token_with_device_code(user_code_info)

參數

user_code_info
dict
必要

叫用 「acquire_user_code」 的程式碼資訊

傳回

屬性

options