Skip to content

Instantly share code, notes, and snippets.

@aslamhadi
Last active November 21, 2020 18:48
Show Gist options
  • Select an option

  • Save aslamhadi/a080cefe2d91792a34a79ffd9d8ab5b9 to your computer and use it in GitHub Desktop.

Select an option

Save aslamhadi/a080cefe2d91792a34a79ffd9d8ab5b9 to your computer and use it in GitHub Desktop.
public class RestAuthorizeAttribute : AuthorizeAttribute
{
private const string SecurityToken = "token"; // Name of the header
private readonly IAuthApiService _authApiService = new AuthApiService();
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (Authorize(filterContext))
{
return;
}
HandleUnauthorizedRequest(filterContext);
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
//base.HandleUnauthorizedRequest(filterContext);
var unauthorizedResult = new JsonResult();
var resultJson = new ApiModel(Global.ErrorGetToken, 401, Global.UnAuthorized, null);
unauthorizedResult.Data = resultJson;
unauthorizedResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
filterContext.Result = unauthorizedResult;
}
private bool Authorize(AuthorizationContext actionContext)
{
try
{
HttpRequestBase request = actionContext.RequestContext.HttpContext.Request;
string token = request.Headers[SecurityToken];
return _authApiService.ValidateToken(token);
}
catch (Exception)
{
return false;
}
}
}
@stesvis

stesvis commented Nov 21, 2020

Copy link
Copy Markdown

Hello, what is AuthApiService?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment