code: func (s *IdentityService) UpsertPassword(user string, password []byte) error {
  	if user == "" {
  		return trace.BadParameter("missing username")
  	}
  	err := services.VerifyPassword(password)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	hash, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  
  	err = s.UpsertPasswordHash(user, hash)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  
  	return nil
  }
docs: // UpsertPassword upserts new password hash into a backend.