gpt4 book ai didi

c# - 如何保留/存储我的 Azure 凭据?

转载 作者:行者123 更新时间:2023-12-02 05:52:26 25 4
gpt4 key购买 nike

我有这个 Web 应用程序,可以访问存储在 Azure 云中的 keystore 。

要访问此 KeyVault,我使用 IConfigurationBuilder 扩展

configuration.AddAzureKeyVault(new Uri(KeyvaultUri), new DefaultAzureCredential(true));

我已经为所有需要访问此权限的用户创建了一个托管身份,这意味着他们应该能够运行应用程序并在通过 SSO 登录后能够访问 keyvault,而目前他们每次都被迫这样做他们由于 new DefaultAzureCredential(true) 启动应用程序,我不明白的是为什么每次都需要每次请求它,而不是在输入一次凭据后将其存储在某处,然后使用它存储的凭据,我可以在首次登录后以某种方式在本地存储所需的凭据吗?

启动应用程序时始终登录有点不方便,并且在需要登录的情况下调试应用程序变得有点冗长。

是否可以以某种方式让登录在后台发生 - 或者以某种方式在首次登录后存储凭据?

我觉得这有点偏离轨道 - 我正在寻求的解决方案应该适用于那些通过 Visual Studio 之外的终端运行该解决方案的人。例如前端开发人员 - 他们只需要一个后端来发出请求,而不是别的。

最佳答案

缓存 token 是没有意义的,因为它只在启动时使用一次,您要寻找的是在您的凭据中排除您试图获取 token 以连接到 AKV 的所有错误方式,除了这种方式你真的在用。

要正确配置它并且在启动时不要等待 15 秒,您应该按以下方式配置 DefaultAzureCredentials:

        DefaultAzureCredential credentials = new DefaultAzureCredential(new DefaultAzureCredentialOptions
{
ExcludeEnvironmentCredential = true,
ExcludeInteractiveBrowserCredential = true,
ExcludeAzurePowerShellCredential = true,
ExcludeSharedTokenCacheCredential = true,
ExcludeVisualStudioCodeCredential = true,
ExcludeVisualStudioCredential = true,
ExcludeAzureCliCredential = true,
ExcludeManagedIdentityCredential = false,
});

排除获取 token 的所有可能性,除了您正在使用的 token (在本例中为“托管身份”或在其他情况下为 AzureCliCredentials)。

问候。

关于c# - 如何保留/存储我的 Azure 凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74103118/

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