如何隐藏外部API令牌在.net(解决)



我正在做一个。net 5 web api项目。我需要使用外部api (rapidapi.com等)。这些网站给了我一个比特币。我知道我应该把它藏起来,这样github上的人就不会看到它了。

但是我也应该把我的apikey发给我的老师,这样他就可以访问,或者他可以用他自己的apikey访问。

1。我应该把它放在哪里?2.我应该如何存储它?3.我怎么称呼它呢?

我知道如何在JS中做到这一点,(它很容易,创建。env文件,并将其称为eenvironment。Apikey),但不知道在。net。我需要一个简单的解决方案,如js

EDİT:我找到了一个解决方案。你可以在appsettings.json中添加一个章节这样的

"API_KEY": "blablabla"

,然后在你的控制器中使用它private readonly IConfiguration _configuration

创建

public CurrencyCalculatorAPI(IConfiguration configuration)
{
_configuration = configuration;
}

然后像这样使用你的apikey

var apiKey = _configuration.GetValue("API_KEY";

你可以在任何地方使用

您应该使用"用户秘密",正如微软所描述的。

在Visual Studio中非常简单,您只需右键单击项目并选择"管理用户秘密"。这将在这个位置创建一个文件:%APPDATA%MicrosoftUserSecrets<user_secrets_id>secrets.json

这个文件在你的项目之外,所以它永远不会是你在Github中的一部分。

最新更新