示例#1
0
        public async Task <IActionResult> Login(string userEmail, string password)
        {
            IActionResult response = Unauthorized();

            logger.LogDebug("Authenticating user {0}", userEmail);
            var user = await loginRepository.AuthenticateUser(userEmail, password);

            if (user == null)
            {
                logger.LogError("Invalid user: {0}", userEmail);
                return(response);
            }
            string role = await loginRepository.GetRole(user);

            if (role == null)
            {
                logger.LogError("Error logging user {0}, invalid role", userEmail);
                return(response);
            }

            logger.LogDebug("Generating token");
            var tokenStr = loginRepository.GenerateJSONWebToken(user.Name, user.Email, role);

            response = Ok(new { token = tokenStr });
            logger.LogDebug("Token generated succesfully");
            logger.LogInformation("User {0} is now connected", userEmail);
            Util.Constants.USER_ID = user.UserId;
            return(response);
        }
示例#2
0
 public IHttpActionResult PostLoginUser(loginDTO loginDTO)
 {
     if (_loginRepository.AuthenticateUser(loginDTO.Username, loginDTO.Password))
     {
         return(Ok(_loginRepository.GetByUsername(loginDTO.Username).Id));
     }
     return(Ok());
 }
示例#3
0
        public void Will_authenticate_user()
        {
            var email = "*****@*****.**";
            var pass  = "******";

            var mock = new Mock <ILoginRepository>();

            mock.Setup(r => r.AuthenticateUser(email, pass)).Returns(1);

            ILoginRepository rr = mock.Object;
            var result          = rr.AuthenticateUser(email, pass);

            Assert.AreEqual(1, result);
        }
示例#4
0
        public void Will_not_authenticate()
        {
            var email = "*****@*****.**";
            var pass  = "******";

            var mock = new Mock <ILoginRepository>();

            mock.Setup(r => r.AuthenticateUser(email, pass)).Returns(0);

            ILoginRepository rr = mock.Object;
            var result          = rr.AuthenticateUser(email, pass);

            Assert.AreNotEqual(1, result);
        }
示例#5
0
 public async Task <AuthenticateUserResultDto> AuthenticateUser(string connectionString, string userNameOrEmail, string password, int refreshTokenExpiry)
 {
     return(await _loginRepository.AuthenticateUser(connectionString, userNameOrEmail, password, refreshTokenExpiry));
 }