【发布时间】:2021-06-09 14:51:35
【问题描述】:
我有两个在 .Net 核心中开发的 Web API 应用程序。我需要将 Json 数据从第二个应用程序导入到第一个应用程序。但是,我有一个安全问题。我需要保护对外部 API 的访问。我应该如何安全地管理这两个 API 之间的连接。 例如,我需要在下面的代码中保护对 URL 的访问 => 无需其他身份验证即可安全访问 covid API。
PS:我在两个应用程序中都使用 JWT 令牌身份验证
最好的问候。
using (var client = new HttpClient())
{
string url = string.Format("https://covid19.mathdro.id/api");
var response = client.GetAsync(url).Result;
string responseAsString = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject<CovidResult>(responseAsString);
}
【问题讨论】:
-
“安全”是什么意思?您已经在使用 HTTPS,您还应该添加一些身份验证或令牌来证明谁在访问。你在找什么?你想防御什么?
-
另外,永远不要使用
Task.Result,因为它会导致死锁。请改用await,就像您正在阅读结果字符串一样。 -
@Alejandro 感谢您的回复,我正在寻找验证 covid API 的外部使用。如何证明如何从第一个应用程序访问到第二个应用程序。第一个应用程序中的用户使用 jwt 进行身份验证。但是,如果我只允许第二个应用程序的经过身份验证的成员访问 covid API,则不允许第一个 API 的用户访问
-
因为你在服务器上拥有2个应用程序,所以这可以通过引入所谓的client id或app id和来实现客户端密码或应用令牌。所以这是一种用于验证应用程序(而不是用户)的凭据。这很像 Google、FB ......管理由开发人员创建的应用程序,这些应用程序使用他们提供的服务。
-
你有例子吗?
标签: c# asp.net asp.net-core asp.net-web-api