繁体   English   中英

如何在ASP .NET Core中生成和管理API Keys

[英]How to generate and manage API Keys in ASP .NET Core

我正在使用 ASP .NET Core 构建一个 API 服务器。 我需要生成和管理 API 密钥。 所以我搜索了一下,然后找到了“Azure Key Vaults”。 我认为这可能是一个解决方案,但它是付费服务。 所以我想知道在 ASP .NET Core 中生成和管理 API 密钥的一般方法是什么。 如果你能帮助我,我将不胜感激。

这取决于您的逻辑以及您希望如何生成 API 密钥(如果您自己执行)。

您可以参考简单安全的自定义API密钥使用ASP.NET核心生成API密钥。

如果您在项目中使用 API,那么这些 API 将为您提供密钥。

此外,您似乎担心存储/管理 API 密钥。

在开发环境中,您可以尝试将其存储在AppSettings.json中,或者您可以使用环境变量存储它,或者您可以尝试使用Secret Manager

生产环境的API密钥,风险较大,不建议依赖这些方法存储。 对于生产环境,我建议您将 API 密钥存储在Azure Key Vault中。 我知道您需要付费才能使用它,但这是安全存储 API 密钥的推荐方法。

参考:

  1. 如何为您的 ASP .NET Core 项目存储应用程序机密
  2. ASP.NET Core开发中应用秘钥的安全存储

Azure Key Vault 很棒,但也有一些缺点。 它成本高,不是那么快,而且它可能成为大量密钥的负担。 有一个 AZ303 问题关于使多个密钥保管库可以扩展。

你知道 AppConfig 有一个免费层,你可以在那里存储你的 API 密钥: https://azure.microsoft.com/en-us/pricing/details/app-configuration/

对于数据库连接字符串,我仍然使用 Azure Key Vault,对于 API 密钥,如果只有几十个且不用于外部使用的服务,我不会担心存储在 Azure App Config 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM