public void RemoveToken(User user, UserToken token)
 {
   if(token != null)
   {
     var tokenFileName = user.Email.Replace("@", "-") + "__" + token.Guid;
     var tokenIndex = _dataManager.GetFile(DataFolders.UsersToken, tokenFileName).OpenIndex();
     tokenIndex.Remove(i => i.Skip(1).First() == token.Token);
   }
 }
    public User GetUser(UserToken token)
    {
      if(token != null)
      {
        var file = _dataManager.GetFile(DataFolders.UsersToken, f => f.Name.EndsWith(token.Guid));
        var tokenIndex = file.OpenIndex();
        var item = tokenIndex.Items
                    .FirstOrDefault(i => /*i.First() == ipadress &&*/ i.Skip(1).First() == token.Token && i.Skip(2).First() == token.Generated);

        return item != null ? GetUserFromTokenFile(file.Name) : null;
      }
      else
      {
        return null;
      }
    }
    internal void StoreUserToken(UserToken token)
    {
      var responsecookie = new HttpCookie(Login_Cookie);
      responsecookie.Values.Add("guid", token.Guid);
      responsecookie.Values.Add("generated", token.Generated);
      responsecookie.Values.Add("token", token.Token);
      responsecookie.HttpOnly = true;
      responsecookie.Secure = Environment.SupportsHttps;
      responsecookie.Expires = token.GetExpiration(2);
      _response.Cookies.Add(responsecookie);

      var httpsResponsecookie = new HttpCookie(Https_Cookie);
      httpsResponsecookie.Value = "1";
      httpsResponsecookie.HttpOnly = true;
      httpsResponsecookie.Expires = token.GetExpiration(2);
      _response.Cookies.Add(httpsResponsecookie);
    }