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);
        }
Beispiel #2
0
        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();
        }