public async Task HandleAsync(AuthorizationHandlerContext context) { var res = new TokenRes(); res = (TokenRes)TokenExists((AuthorizationFilterContext)context.Resource); if (res.IsToken) { var validd = await ValidateTokenAsync(res.Token); if (validd) { return; } } context.Fail(); }
private object TokenExists(HttpContext context) { var tokenres = new TokenRes(); string authHeader = context.Request.Headers["Authorization"]; if (!String.IsNullOrEmpty(authHeader) && authHeader.Contains("")) { var token = authHeader.Contains("Bearer") ? authHeader.Replace("Bearer", "") : authHeader.Replace("bearer", ""); tokenres = new TokenRes { Token = token, IsToken = true }; return(tokenres); } tokenres = new TokenRes { Token = "", IsToken = false }; return(tokenres); }
public async Task Invoke(HttpContext context) { var res = new TokenRes(); res = (TokenRes)TokenExists(context); if (res.IsToken) { if (!await ValidateTokenAsync(res.Token)) { context.Response.StatusCode = 401; //UnAuthorized return; } } else { context.Response.StatusCode = 400; //Bad Request return; } await _next.Invoke(context); }