public async Task Invoke(HttpContext context, OperationContext operationContext, IRouteSessionTokenExtractor routeSessionTokenExtractor, IApplicationEventDispatcher dispatcher) { var sessionToken = routeSessionTokenExtractor.ExtractSessionToken(context.Request, "token"); if (!string.IsNullOrEmpty(sessionToken)) { var session = await dispatcher.Dispatch(new SessionQuery(sessionToken)); if (session != null) { operationContext.Session = session; operationContext.SessionId = sessionToken; } } await _next(context); }
public async Task OnAuthorizationAsync(AuthorizationFilterContext context) { var sessionToken = _routeSessionTokenExtractor.ExtractSessionToken(context.HttpContext.Request, "token"); if (!string.IsNullOrEmpty(sessionToken)) { var session = await _dispatcher.Dispatch(new SessionQuery(sessionToken)); if (session != null) { _operationContext.Session = session; _operationContext.SessionId = sessionToken; return; } } context.Result = new UnauthorizedResult(); }