0

Im trying to create users using the workspace API, but I'm getting stuck at the password. If I use sha 256 the user is created but I can't log in with the password I made the user with. Below is my code

def create_user(self, email, password, first_name, last_name):
        if 8 < len(password) > 100:
            raise Exception("Password needs to be between 8-100 characters")
        characters = string.ascii_letters + string.digits + string.punctuation
        salt = ''.join(random.choice(characters) for _ in range(20))
        hashedPassword = hashlib.sha256(password.encode() + salt.encode()).hexdigest()
        hashedPassword = "$5$" + salt.encode().hex() + "$" + hashedPassword
        body = {
            "primaryEmail": email,
            "password": hashedPassword,
            "hashFunction": "crypt",
            "name": {
                "givenName": first_name,
                "familyName": last_name
            },
            "changePasswordAtNextLogin": False
        }
        user = self.service.users().insert(body=body).execute()
        return user
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. – Community Apr 10 '23 at 17:56

0 Answers0