public Task Invoke(HttpContext httpContext, IAuthSystem authSystem) { // Проверка авторизации осуществляется путём проверки наличия uId в сессии if (!httpContext.Session.Keys.Contains("uId")) { // Если авторизованная сессия не создана - возможно, пользователь передал для авторизации свой токен if (httpContext.Request.Cookies.ContainsKey("userToken")) { // Осуществляется попытка аутентификации пользователя по его токену string token = httpContext.Request.Cookies["userToken"]; if (authSystem.TokenExist(token)) { int?userId = authSystem.GetUserId(token); if (userId.HasValue && userId >= 0) { authSystem.CreateUserSession(userId.Value); } authSystem.UpdateToken(token); } } } return(_next(httpContext)); }
public UsersController(UsersDB usersDB, IAuthSystem authSystem) { _usersDB = usersDB; _authSystem = authSystem; }