你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
OnBehalfOfCredential 类
通过代理流对服务主体进行身份验证。
此流通常由中间层服务使用委托的用户标识授权对其他服务的请求。 由于这不是交互式身份验证流,因此使用它的应用程序在为其请求令牌之前,必须获得管理员对任何委派权限的管理员同意。 有关代理流的更详细说明,请参阅 Azure Active Directory 文档 。
- 继承
-
azure.identity._internal.msal_credentials.MsalCredentialOnBehalfOfCredentialazure.identity._internal.get_token_mixin.GetTokenMixinOnBehalfOfCredential
构造函数
OnBehalfOfCredential(tenant_id: str, client_id: str, **kwargs: Any)
参数
- client_secret
- str
可选。 用于对服务主体进行身份验证的客户端密码。 必须提供 client_secret 或 client_certificate 。
- client_certificate
- bytes
可选。 PEM 或 PKCS12 格式的证书的字节数,包括用于对服务主体进行身份验证的私钥。 必须提供 client_secret 或 client_certificate 。
- user_assertion
- str
必需。 请求代表令牌时,凭据将用作用户断言的访问令牌
- authority
- str
Azure Active Directory 终结点的颁发机构,例如“login.microsoftonline.com”,Azure 公有云 (是默认) 。 AzureAuthorityHosts 定义其他云的权威。
证书密码。 仅在提供 client_certificate 时才使用。 如果此值是 unicode 字符串,则会将其编码为 UTF-8。 如果证书需要其他编码,请改为传递经过适当编码的字节。
- disable_instance_discovery
- bool
确定在尝试进行身份验证时是否执行实例发现。 将此设置为 true 将完全禁用实例发现和颁发机构验证。 此功能适用于无法访问元数据终结点的方案,例如在私有云或 Azure Stack 中。 实例发现过程需要从 https://login.microsoft.com/ 中检索颁发机构元数据以验证颁发机构。 通过将此项设置为 True,将禁用对颁发机构的验证。 因此,确保配置的颁发机构主机有效且可信至关重要。
除了指定凭据可能为其获取令牌的指定“tenant_id”之外,还指定租户。 添加通配符值“*”以允许凭据获取应用程序可以访问的任何租户的令牌。
示例
创建 OnBehalfOfCredential。
from azure.identity 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
close() -> None
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
属性提供了一个原因。