我在node.js中使用azure/identity包。我使用DefaultAzureCredential()
作为我的特定帐户运行它。但问题是,当我在本地机器上对azure keyvault进行身份验证时,它会抱怨我没有权限。当我检查它使用的auth令牌的值时,它不是我想使用的帐户,而是使用我的计算机帐户。
我们需要使用DefaultAzureCredential()
来保持它,因为这在Azure上的prod上运行时适用。当我尝试控制台记录this的值时,我得到
DefaultAzureCredential {
UnavailableMessage: 'DefaultAzureCredential => failed to retrieve a token from the included credentials',
_sources: [
EnvironmentCredential { _credential: undefined },
ManagedIdentityCredential {
isEndpointUnavailable: null,
identityClient: [IdentityClient]
},
AzureCliCredential {},
VisualStudioCodeCredential {
cloudName: 'AzureCloud',
identityClient: [IdentityClient],
tenantId: 'common'
}
]
}
我在同一个控制台上试过,az logout
,然后是az login
,并在打开的浏览器上登录了我想要的帐户。然后我尝试了az ad signed-in-user show
,它显示了正确的帐户。
这在以前是有效的,但突然它停止工作而没有任何代码更改。有谁知道我该怎么解决这个问题?
1条答案
按热度按时间xt0899hw1#
似乎有一个缓存问题。
使用不需要的帐户尝试
az logout --username <username>
。最极端的解决方案是删除
.azure
文件夹以清除该高速缓存。