Пример #1
0
        public ActionResult <string> Get([FromQuery] LoginModel data)
        {
            var user = Program.DataBase.UserCollection.FindById(data.Id);

            if (user == null)
            {
                return(NotFound());
            }
            if (user.Password != HashGenerator.ComputeSha512Hash(data.Password + user.Salt, 100))
            {
                return(Unauthorized());
            }

            user.Token         = TokenGenerator.GetToken();
            user.LastLoginDate = DateTime.UtcNow.AddHours(9);

            Program.DataBase.UserCollection.Update(user);

            var jwtData = new Dictionary <string, string>
            {
                { "Id", user.Id },
                { "Name", user.Name }
            };

            return(Jwt.NewJwt(user.Token, jwtData));
        }
Пример #2
0
        public ActionResult <string> Post(RegisterModel data)
        {
            if (Program.DataBase.UserCollection.FindById(data.Id) != null)
            {
                return(Conflict());
            }

            var user = new User
            {
                Id            = data.Id,
                Name          = data.Name,
                Salt          = TokenGenerator.GetToken(),
                RegisterDate  = DateTime.UtcNow.AddHours(9),
                LastLoginDate = DateTime.UtcNow.AddHours(9)
            };

            user.Password = HashGenerator.ComputeSha512Hash(data.Password + user.Salt, 100);

            Program.DataBase.UserCollection.Insert(user);
            return(Ok());
        }