mirror of
https://github.com/zulip/zulip.git
synced 2025-11-01 04:23:46 +00:00
initial_password: Add explicit development environment assertion.
The construction of INITIAL_PASSWORD_SALT is such that it should only be set in development environments, but we should enforce this rule.
This commit is contained in:
@@ -10,6 +10,10 @@ def initial_password(email: str) -> Optional[str]:
|
||||
created by populate_db."""
|
||||
|
||||
if settings.INITIAL_PASSWORD_SALT is not None:
|
||||
# We check settings.DEVELOPMENT, not settings.PRODUCTION,
|
||||
# because some tests mock settings.PRODUCTION and then use
|
||||
# self.login, which will call this function.
|
||||
assert settings.DEVELOPMENT, "initial_password_salt should not be set in production."
|
||||
encoded_key = (settings.INITIAL_PASSWORD_SALT + email).encode()
|
||||
digest = hashlib.sha256(encoded_key).digest()
|
||||
return base64.b64encode(digest)[:16].decode()
|
||||
|
||||
Reference in New Issue
Block a user