У меня есть код для проверки подлинности ниже, он работает нормально при получении вызова isValid.Result true
Get Call Работает нормально, но он не вызывает мой контроллер PUT и POST, я добавляю отладчик в свой пост и помещаю вызов.Но это не вызывает мой пост и поставить функцию?
public class HMAuthentication : Attribute, IAuthorizationFilter
{
private static Dictionary<string, string> allowedApps = new Dictionary<string, string>();
private readonly UInt64 requestMaxAgeInSeconds = 300; //5 mins
private readonly string authenticationScheme = "aa";
public void OnAuthorization(AuthorizationFilterContext context)
{
var isValid = isValidRequest(requests, APPId, incomingBase64Signature, nonce, requestTimeStamp);
if (isValid.Result)
{
var currentPrincipal = new GenericPrincipal(new GenericIdentity(APPId), null);
}
}
}
ПОЛУЧИТЬ ВЫЗОВ РАБОТЫЙ ШТРАФ
[Route("api/[controller]")]
[ApiController]
public class InfoController : ControllerBase
{
private IUserService _info;
public InfoController (IUserService info)
{
_info= info;
}
[HttpGet("GetInfo/{Id}")]
public async Task<UserBase> GetInfo(int Id)
{
return await _info.GetInfo(Id);
}
PUT CALL
[HttpPut]
[Route("UpdateParent")]
public async Task<int> UpdateParent([FromBody] parent parentInfo)
{
return await _info.UpdateParent(parentInfo);
}
}
Startup.cs
services.AddMvc(options => options.Filters.Add(new HMAuthentication ())).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);