gpt4 book ai didi

asp.net-core - 在 Web API ASP.NET Core 中检查 api key 的简单方法

转载 作者:行者123 更新时间:2023-12-02 14:54:36 25 4
gpt4 key购买 nike

在允许某些 Web API 端点被命中之前,我想简单地检查 Api key ——在授权 header 中发送。为了这个问题,我们假设 ApiKey 是 12345。我只想在到达特定操作方法之前检查此 Api key 的值。我不知道这是否需要自定义 AuthorizeAttribute 或操作过滤器。

最佳答案

简单地说,我发出一个带有 header 的 GET 请求是 Authorization: apiKey 12345

授权属性实现如下所示:

public class AuthorizationFilterAttribute : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
var apiKey = context.HttpContext.Request.Headers["Authorization"];

if (apiKey.Any())
{
// this would be your business
var subStrings = apiKey.ToString().Split(" ");
if (!(subStrings.Length >= 2 && subStrings[0] == "apiKey" && subStrings[1].Any()))
{
context.Result = new NotFoundResult();
}
}
else
{
context.Result = new NotFoundResult();
}
}
}

在此代码示例中,apiKeysubStrings[1]

关于asp.net-core - 在 Web API ASP.NET Core 中检查 api key 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53586736/

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