From 0ff6bb784a91f2f48a41adb1daef7909c9c4c1e8 Mon Sep 17 00:00:00 2001 From: Chris Proctor Date: Mon, 20 May 2024 09:03:38 -0400 Subject: [PATCH] Account creation checks public key --- server/app/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/app/views.py b/server/app/views.py index e452a04..d47daad 100644 --- a/server/app/views.py +++ b/server/app/views.py @@ -10,12 +10,16 @@ from encryption import PrivateKey, PublicKey @route_post("users/new", args={'name': str, 'public_key': str}) def create_user(params): "Creates a new user" + try: + PublicKey.load(params['public_key']) + except (ValueError, FileNotFoundError): + raise NotAllowed("Invalid public key") try: new_user = User.from_dict(params) new_user.save() return new_user.to_dict() except: - raise NotAllowed("Username and public key must be unique.") + raise NotAllowed(f"Username {params['name']} is already in use.") @route_get("users", args={'name': str}) def get_user(params):