From 071aad3e6c117203810cf2f90d79044bd5fd70ae Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Mon, 28 Aug 2023 20:46:32 +0200 Subject: [PATCH] Add some load-time validation of PGAUTH_KEY in the django sample MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Will result in a nicer error when the key is wrong, and in particular a startup error instead of a runtime error. Reviewed-by: Célestin Matte --- tools/communityauth/sample/django/auth.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/communityauth/sample/django/auth.py b/tools/communityauth/sample/django/auth.py index 0a075715..b6f60674 100644 --- a/tools/communityauth/sample/django/auth.py +++ b/tools/communityauth/sample/django/auth.py @@ -374,3 +374,13 @@ def user_import(uid): auth_user_created_from_upstream.send(sender=user_import, user=u) return u + + +# Try to load the key (and throw it away) to verify that the format is +# correct. +try: + k = base64.b64decode(settings.PGAUTH_KEY) + if len(k) != 32: + raise Exception("PGAUTH_KEY must be 32 bytes long") +except Exception as e: + raise Exception("Invalid PGAUTH_KEY: {}".format(e)) -- 2.39.5