diff options
author | Parker <contact@pkrm.dev> | 2024-11-05 20:36:09 -0600 |
---|---|---|
committer | Parker <contact@pkrm.dev> | 2024-11-05 20:36:09 -0600 |
commit | e944df3d7d431b5bd88c2c235501a355ea1ba6ab (patch) | |
tree | 283a28cb77f2439d20ba00869de15cf65c2c450a /app/util/check_password_reqs.py | |
parent | 6f7e810916fd2de39d451886bbe18167e1784315 (diff) |
Fix auth and organization/standards
Diffstat (limited to 'app/util/check_password_reqs.py')
-rw-r--r-- | app/util/check_password_reqs.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/util/check_password_reqs.py b/app/util/check_password_reqs.py new file mode 100644 index 0000000..dcb9bf8 --- /dev/null +++ b/app/util/check_password_reqs.py @@ -0,0 +1,26 @@ +from fastapi import HTTPException, status + + +def check_password_reqs(password: str): + """ + Make sure the entered password meets the security requirements: + 1. At least 8 characters + 2. At least one digit + 3. At least one uppercase letter + """ + if len(password) < 8: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Password must be at least 8 characters", + ) + if not any(char.isdigit() for char in password): + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Password must contain at least one digit", + ) + if not any(char.isupper() for char in password): + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Password must contain at least one uppercase letter", + ) + return |