Beispiel #1
0
        public IActionResult Login([FromBody] LoginFormUser loginFormUser)
        {
            User userReturned = _dataAccess.LoginUser(loginFormUser);

            if (userReturned == null)
            {
                return(new UnauthorizedResult());
            }
            if (VerifyPassword(userReturned.Hash, userReturned.Salt, loginFormUser.Password))
            {
                string location = userReturned.Id.ToString();
                var    json     = new { jwt = GenerateToken(loginFormUser.Email) };
                return(new ObjectResult(json));
            }
            return(new UnauthorizedResult());
        }
Beispiel #2
0
        public async Task <IActionResult> Register([FromBody] LoginFormUser loginFormUser)
        {
            try
            {
                User user = new User();
                user.Email = loginFormUser.Email;
                user.Salt  = GetSalt();
                user.Hash  = GetHash(loginFormUser.Password + user.Salt);
                await _dataAccess.CreateUser(user);

                string location = user.Id.ToString();
                var    json     = new { jwt = GenerateToken(loginFormUser.Email) };
                return(Created(location, json));
            }
            catch (MongoWriteException e)
            {
                return(new BadRequestObjectResult("Email was taken"));
            }
        }