Пример #1
0
 public RouteSessionAuthenticationFilter(OperationContext operationContext, IRouteSessionTokenExtractor routeSessionTokenExtractor, IApplicationEventDispatcher dispatcher)
 {
     _operationContext           = operationContext;
     _routeSessionTokenExtractor = routeSessionTokenExtractor;
     _dispatcher = dispatcher;
 }
Пример #2
0
        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);
        }