Beispiel #1
0
        public void ShouldVerifyPasswordSuccess()
        {
            string password     = "******";
            var    hashedResult = passwordEncryption.HashPassword(password);

            Assert.True(passwordEncryption.Verify(password, hashedResult.salt, hashedResult.hashed));
            Console.WriteLine(hashedResult);
        }
        public IActionResult Login([FromBody] UserRequest currentUser)
        {
            var userModel = currentUser.ToUserModel();

            // Get the current user
            var user = _userCoreController.Get(userModel.Username);

            if (user != null && PasswordEncryption.Verify(userModel.Password, user.Password))
            {
                var metadata = user.ToMetadata();
                return(new ObjectResult(metadata));
            }
            throw new AuthenticationException("Unable to log in, username or password is incrrect");
        }
        public async Task <IHttpActionResult> UserLogOn(User user)
        {
            var dbUser = await _db.Users.FindAsync(user.Username);

            if (dbUser is null)
            {
                return(NotFound());
            }

            if (!PasswordEncryption.Verify(user.Password, dbUser.Password))
            {
                return(BadRequest());
            }

            dbUser.Password = null;

            return(Ok(dbUser));
        }
Beispiel #4
0
        public async Task <Config.Cfg.LoginStatus> PasswordCheck(string user, string password, MySql.Data.MySqlClient.MySqlConnection msq)
        {
            QLogin             login = new QLogin();
            PasswordEncryption Crypt = new PasswordEncryption();
            string             x     = await login.GetPasswordHash(user, msq);

            if (x == null)
            {
                return(Config.Cfg.LoginStatus.InvalidAccount);
            }

            if (Crypt.Verify(password, x) == true)
            {
                return(Config.Cfg.LoginStatus.LoggedIn);
            }
            else
            {
                return(Config.Cfg.LoginStatus.WrongPassword);
            }
        }
        public Account Authenticate(Account toVerify, string sourceToken)
        {
            var source = _accountSourceCoreController.GetByToken(sourceToken);

            if (source != null)
            {
                var found = _accountDbController.Get(new[] { toVerify.Name }, source.Id).SingleOrDefault();
                if (found != null)
                {
                    Account verified;
                    if (source.RequiresPassword)
                    {
                        if (PasswordEncryption.Verify(toVerify.Password, found.Password))
                        {
                            verified = found;
                        }
                        else
                        {
                            throw new InvalidAccountDetailsException("Invalid Login Details.");
                        }
                    }
                    else
                    {
                        verified = found;
                    }

                    _logger.LogInformation($"Account: {toVerify.Id} passed verification: {verified}");

                    return(verified);
                }
                if (source.AutoRegister)
                {
                    return(Create(toVerify, sourceToken));
                }
                throw new InvalidAccountDetailsException("Invalid Login Details.");
            }
            throw new InvalidAccountDetailsException("Invalid Login Details.");
        }