code: func (pwm *Manager) Save(username, password string) error {
  	//TODO: username and password validation
  	passwordHash, err := keyderivation.Hash(password)
  	if err != nil {
  		log.Error("ERROR hashing password")
  		log.Debug("ERROR hashing password: ", err)
  		return errors.New("internal_error")
  	}
  	if len(password) < passwordMinLength {
  		return errors.New("invalid_password")
  	}
  	storedPassword := userPass{Username: username, Password: passwordHash}
  
  	_, err = pwm.collection.Upsert(bson.M{"username": username}, storedPassword)
  
  	return err
  }
docs: // Save stores a password for a specific username.