gpt4 book ai didi

python - 在 Azure Functions 应用程序中存储身份验证 token

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

我有一个 Azure Function App,触发时需要调用需要 OAuth2 的 API 端点。我的 python 代码成功调用端点并进行身份验证,正如我所期望的那样。 API 提供“身份验证 token ”、“刷新 token ”和身份验证 token “过期时间”。

我遇到的问题是:我可以在哪里存储这些值,这样我就不必每次调用我的 Azure Function App 时都请求新的 token ?

在本地计算机上测试代码时,我将它们存储在 .env 变量中,但在 Azure Function App 上运行时,我似乎无法写入任何文件。是否有用于 Azure 的等效项?我目前将值存储在“功能应用程序”>“配置设置”>“应用程序设置”中,它可以很好地读取它们,但无法更新,因为为过期 token 获取了新值。我尝试使用以下命令更新应用程序设置变量...

            try:
os.environ["ACCESS_TOKEN"] = response.get("access_token")
os.environ["REFRESH_TOKEN"] = response.get("refresh_token")
os.environ["AUTH_EXPIRES_ON"] = str(expiresOn)
except Exception as e:
print('Couldnt write environmental config: ',e)

我实际上不想将其存储在文件中,因为这不安全,但我只需要一个安全的值,并在对 Azure Function App 的不同调用之间保持不变

我有一种感觉,我可能会错误地处理这个问题...非常感谢任何帮助!

最佳答案

考虑使用 Azure KeyVault 。您可以安全地检索值并存储 secret 。

Python 示例代码:

    from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

credential = DefaultAzureCredential()

secret_client = SecretClient(vault_url="https://<your_keyvault_name>.vault.azure.net", credential=credential)

secret = secret_client.get_secret("AppSecret")

# Set your API key as a secret in Azure Key Vault
secret_client.set_secret("<your-secret-name>", "<your-api-key>")

关于python - 在 Azure Functions 应用程序中存储身份验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75691152/

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