Radarr/src/Radarr.Http/Authentication/ApiKeyRequirement.cs

21 lines
604 B
C#

using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
namespace Radarr.Http.Authentication
{
public class ApiKeyRequirement : AuthorizationHandler<ApiKeyRequirement>, IAuthorizationRequirement
{
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ApiKeyRequirement requirement)
{
var apiKeyClaim = context.User.FindFirst(c => c.Type == "ApiKey");
if (apiKeyClaim != null)
{
context.Succeed(requirement);
}
return Task.CompletedTask;
}
}
}