gpt4 book ai didi

python - Azure Python SDK 凭据刷新

转载 作者:行者123 更新时间:2023-12-03 07:06:52 26 4
gpt4 key购买 nike

我正在使用 azure python sdk 通过 linux 以编程方式连接到 azure 服务。

我可以通过az('login')成功登录

login found

但是,当我尝试创建凭据并获取 token 时,收到一条错误消息,提示我的授权已过期:

creds = DefaultAzureCredential()
token = creds.get_token('https://database.windows.net/.default')

VisuaLStudioCodeCredential.get_token failed: Azure Active Directory error ' (invalid_grant) AADSTS50173: The provided grant has expired due to it being revoked, a fresh auth token is needed. The user might have changed or reset their password. The grant was issued on '2021-11-04T15:21:38,19517642' and the TokensValidFrom date (before which tokens are not valid) for this user is '2022-01-0819:52:17.0000000z'

我该如何刷新它?我尝试使用 az('accountclear'),然后使用 az('login'),但得到了相同的结果。是否有特定于 DefaultAzureCredential 的方法来获取刷新的 token ?

最佳答案

DefaultAzureCredential类尝试按特定顺序使用多个方法获取 token ,并且 VS Code 登录用户的优先级高于 Azure CLI 登录用户的优先级。

当您使用az login时,您正在使用Azure CLI登录,并且您似乎已经使用一些其他没有适当权限的凭据登录到VS Code,这就是您的原因出现此错误。

要解决此问题,您可以通过将 exclude_visual_studio_code_credential 设置为 true 来排除要考虑的 VS Code 凭据。所以你的代码会是这样的:

creds = DefaultAzureCredential(exclude_visual_studio_code_credential=true)

这样,DefaultAzureCredential 就不会使用您的 VS Code 凭据来获取 token 。

关于python - Azure Python SDK 凭据刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71286422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com