你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

AuthenticationContext 类

从 Azure Active Directory 检索身份验证令牌。

有关用法,检查以下位置的“sample”文件夹: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

(可选的) 请求超时。 放弃前等待服务器发送数据的时间(浮点数或 (连接超时、读取超时) 元组)。

enable_pii
默认值: False

(可选) 除非将其设置为 True,否则不会) 日志中写入个人身份信息 (PII。

verify_ssl
默认值: None

(可选的) 请求验证。 布尔值,在这种情况下,它控制是验证服务器的 TLS 证书,还是字符串,在这种情况下,它必须是要使用的 CA 捆绑包的路径。 如果未提供此值,并且设置了 env varaible ADAL_PYTHON_SSL_NO_VERIFY,则行为等效于 verify_ssl=False。

proxies
默认值: None

(可选的) 请求代理。 到代理 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

通过用户尾数获取给定资源的令牌。

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 客户端 ID。

返回

具有多个键的 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 客户端 ID。

client_secret
str
默认值: None

仅 (机密客户端) 调用应用程序的 OAuth 客户端密码。 如果未设置此参数,则默认为 None

code_verifier
str
默认值: None

(可选) 如果授权代码授予请求中使用 PKCE,则用于获取授权代码的代码验证程序。 (公共客户端通常使用) 此参数(如果未设置),则默认为 None

返回

具有多个键的 dict,包括“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 客户端 ID。

certificate
str
必需

PEM 编码的证书私钥。

thumbprint
str
必需

证书的十六进制编码指纹。

public_certificate
默认值: None

如果不是“无”,则会将其发送到服务,以便进行基于使用者名称和颁发者的身份验证,即支持证书自动滚动更新。 该值必须与证书私钥参数匹配。

返回

包含多个键的 dict,包括“accessToken”。

acquire_token_with_client_credentials

通过客户端凭据获取给定资源的令牌。

acquire_token_with_client_credentials(resource, client_id, client_secret)

参数

resource
str
必需

标识令牌对其有效的资源的 URI。

client_id
str
必需

调用应用程序的 OAuth 客户端 ID。

client_secret
str
必需

调用应用程序的 OAuth 客户端密码。

返回

包含多个键的 dict,包括“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 客户端 ID。

返回

具有多个键的 dict,包括“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 客户端 ID。

resource
str
必需

标识令牌对其有效的资源的 URI。

client_secret
str
默认值: None

(可选) 调用应用程序的 OAuth 客户端密码。

返回

具有多个键的 dict,包括“accessToken”和“refreshToken”。

acquire_token_with_username_password

通过用户尾数获取给定资源的令牌。

acquire_token_with_username_password(resource, username, password, client_id)

参数

resource
str
必需

标识令牌对其有效的资源的 URI。

username
str
必需

代表此应用程序进行身份验证的用户用户名。

password
str
必需

用户名参数中命名的用户的密码。

client_id
str
必需

调用应用程序的 OAuth 客户端 ID。

返回

具有多个键的 dict,包括“accessToken”和“refreshToken”。

acquire_user_code

获取包含user_code的用户代码信息,device_code用于在设备上对用户进行身份验证。

acquire_user_code(resource, client_id, language=None)

参数

resource
str
必需

标识device_code和user_code对其有效的资源的 URI。

client_id
str
必需

调用应用程序的 OAuth 客户端 ID。

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