如何在 ASP .NET Core 中生成和管理 API 密钥
How to generate and manage API Keys in ASP .NET Core
我正在使用 ASP .NET Core 构建一个 API 服务器。
我需要生成和管理 API 密钥。
所以我搜索了一下,我找到了 'Azure Key Vaults'。
我认为这可能是一个解决方案,但它是付费服务。
所以我想知道在 ASP .NET Core 中生成和管理 API 密钥的一般方法是什么。
如果你能帮助我,我将不胜感激。
这取决于您的逻辑以及您希望如何生成 API 密钥(如果您自己完成)。
您可以参考Simple and secure custom API Keys using ASP.NET Core生成API个密钥。
如果您在项目中使用 API,那么这些 API 将为您提供密钥。
此外,您似乎担心 storing/managing API 键。
在开发环境中,您可以尝试将其存储在AppSettings.json
中,或者您可以使用环境变量存储它,或者您可以尝试使用秘密管理员.
生产环境的API密钥,风险较大,不建议依赖这些方法存储。对于生产环境,我建议您将 API 密钥存储在 Azure Key Vault 中。我知道您需要付费才能使用它,但这是安全存储 API 密钥的推荐方法。
参考文献:
Azure Key Vault 很棒,但也有一些缺点。它成本高,不是那么快,而且它可能成为大量密钥的负担。有一个 AZ303 问题关于使多个密钥保管库可缩放。
您知道 AppConfig 有一个免费层,您可以将 API 密钥存储在其中:
https://azure.microsoft.com/en-us/pricing/details/app-configuration/
对于数据库连接字符串,我仍然会使用 Azure Key Vault,对于 API 密钥,如果只有几十个并且不用于外部使用的服务,我不会担心存储在 Azure App Config 中。
我正在使用 ASP .NET Core 构建一个 API 服务器。 我需要生成和管理 API 密钥。 所以我搜索了一下,我找到了 'Azure Key Vaults'。 我认为这可能是一个解决方案,但它是付费服务。 所以我想知道在 ASP .NET Core 中生成和管理 API 密钥的一般方法是什么。 如果你能帮助我,我将不胜感激。
这取决于您的逻辑以及您希望如何生成 API 密钥(如果您自己完成)。
您可以参考Simple and secure custom API Keys using ASP.NET Core生成API个密钥。
如果您在项目中使用 API,那么这些 API 将为您提供密钥。
此外,您似乎担心 storing/managing API 键。
在开发环境中,您可以尝试将其存储在AppSettings.json
中,或者您可以使用环境变量存储它,或者您可以尝试使用秘密管理员.
生产环境的API密钥,风险较大,不建议依赖这些方法存储。对于生产环境,我建议您将 API 密钥存储在 Azure Key Vault 中。我知道您需要付费才能使用它,但这是安全存储 API 密钥的推荐方法。
参考文献:
Azure Key Vault 很棒,但也有一些缺点。它成本高,不是那么快,而且它可能成为大量密钥的负担。有一个 AZ303 问题关于使多个密钥保管库可缩放。
您知道 AppConfig 有一个免费层,您可以将 API 密钥存储在其中: https://azure.microsoft.com/en-us/pricing/details/app-configuration/
对于数据库连接字符串,我仍然会使用 Azure Key Vault,对于 API 密钥,如果只有几十个并且不用于外部使用的服务,我不会担心存储在 Azure App Config 中。