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

InteractiveBrowserCredential 类

打开浏览器以交互方式对用户进行身份验证。

get_token 打开 Azure Active Directory 提供的登录 URL 的浏览器,并在内部使用 PKCE (验证密钥的代码交换) 对用户进行身份验证,以保护代码。

继承
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 租户 ID。 默认为“组织”租户,它可以对工作或学校帐户进行身份验证。

client_id
str

Azure Active Directory 应用程序用户将登录的客户端 ID。 如果未指定,用户将向 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 属性提供了一个原因。

用户交互是获取令牌所必需的,并且凭据配置为不自动开始此操作。 调用

开始交互式身份验证。