public override Task Invoke(IOwinContext context) { try { string token = string.Empty; token = context.Request.Headers["Authorization"] != null ? context.Request.Headers["Authorization"] : null; if (!string.IsNullOrEmpty(token)) { IOAuth oautn = new OAuth(); OAuthToken oauthToken = oautn.AcquireToken(token); if (oauthToken.Error == null) { oauthToken.IsAuthenticated = true; SetPrincipal(context, new UserPrincipal(oauthToken)); } else { context.Response.Headers.Append("WWW-Authenticate", oauthToken.Error.Msg); context.Response.StatusCode = 401; return(Task.FromResult(0)); } } return(Next.Invoke(context)); } catch (System.Exception ex) { // _logger.Debug("Ending request with code {0}, message {1}...", 401, MISSING_AUTH); _logger.Error("OwinMiddleware exception because:{0},{1}", ex.Message, ex.StackTrace); context.Response.StatusCode = 500; return(Task.FromResult(0)); } }
public override void OnActionExecuting(HttpActionContext actionContext) { string token = string.Empty; token = actionContext.Request.Headers.Authorization != null?actionContext.Request.Headers.Authorization.Scheme + " " + actionContext.Request.Headers.Authorization.Parameter:null; IOAuth oautn = new OAuth(); OAuthToken oauthToken = oautn.AcquireToken(token); if (oauthToken.Error != null) { HandleUnauthorizedRequest(oauthToken.Error.Msg); } }