public async Task <int?> AuthenticatedUserAsync(long loginId, byte[] hashedToken)
        {
            FilterDefinitionBuilder <SavedLogin> builder = Builders <SavedLogin> .Filter;
            FilterDefinition <SavedLogin>        filter  = builder.Eq("_id", loginId) & builder.Eq("hashedToken", hashedToken);
            SavedLogin found = await savedLoginCollection.Find(filter).FirstOrDefaultAsync();

            return(found?.User);
        }
        public void RegisterLogin(int user, HttpContext context)
        {
            SavedLogin login;

            do
            {
                login = new SavedLogin(user, context.Connection.RemoteIpAddress.ToString());
            } while (savedLoginRepository.ContainsID(login.ID));
            savedLoginRepository.Add(login);
            context.Response.Cookies.Append("login", login.ID + ":" + login.UnhashedToken);
        }
Esempio n. 3
0
        public void RegisterLogin(int user, HttpContext context)
        {
            SavedLogin login;

            do
            {
                login = new SavedLogin(user, context.Request.Headers["X-Forwarded-For"]);
            } while (savedLoginRepository.ContainsID(login.ID));
            savedLoginRepository.Add(login);
            context.Response.Cookies.Append("login", login.ID + ":" + login.UnhashedToken, new CookieOptions()
            {
                HttpOnly = true, Secure = true,
                Expires  = new DateTimeOffset(DateTime.UtcNow.AddDays(30), new TimeSpan(0))
            });
        }
 public async Task AddAsync(SavedLogin login)
 {
     await savedLoginCollection.InsertOneAsync(login);
 }
Esempio n. 5
0
 public void Add(SavedLogin login)
 {
     savedLoginCollection.InsertOne(login);
 }