From f9e870e11fe3041be53f4c357427d8060f50199f Mon Sep 17 00:00:00 2001 From: N3WT DE COMPET Date: Sun, 16 Feb 2025 11:10:06 +0100 Subject: [PATCH] feat: Passage par une variable d'environnement pour les CORS et CSRF --- Back-End/N3wtSchool/settings.py | 17 ++++++++--------- docker-compose.yml | 2 ++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Back-End/N3wtSchool/settings.py b/Back-End/N3wtSchool/settings.py index 078d6e8..101eb13 100644 --- a/Back-End/N3wtSchool/settings.py +++ b/Back-End/N3wtSchool/settings.py @@ -19,6 +19,8 @@ BASE_DIR = Path(__file__).resolve().parent.parent MEDIA_URL = '/data/' MEDIA_ROOT = os.path.join(BASE_DIR, 'data') +BASE_URL = os.getenv('CORS_ALLOWED_ORIGINS', 'http://localhost:3000') + LOGIN_REDIRECT_URL = '/Subscriptions/registerForms' # Quick-start development settings - unsuitable for production @@ -228,18 +230,18 @@ EMAIL_USE_SSL = False EMAIL_INSCRIPTION_SUBJECT = '[N3WT-SCHOOL] Dossier Inscription' EMAIL_INSCRIPTION_CORPUS = """Bonjour, -Afin de procéder à l'inscription de votre petit bout, vous trouverez ci-joint le lien vers la page d'authentification : http://localhost:3000/users/login +Afin de procéder à l'inscription de votre petit bout, vous trouverez ci-joint le lien vers la page d'authentification : """ + BASE_URL + """/users/login -S'il s'agit de votre première connexion, veuillez procéder à l'activation de votre compte : http://localhost:3000/users/subscribe +S'il s'agit de votre première connexion, veuillez procéder à l'activation de votre compte : """ + BASE_URL + """/users/subscribe identifiant = %s Cordialement, """ EMAIL_RELANCE_SUBJECT = '[N3WT-SCHOOL] Relance - Dossier Inscription' -EMAIL_RELANCE_CORPUS = 'Bonjour,\nN\'ayant pas eu de retour de votre part, nous vous renvoyons le lien vers le formulaire d\'inscription : http://localhost:3000/users/login\nCordialement' +EMAIL_RELANCE_CORPUS = 'Bonjour,\nN\'ayant pas eu de retour de votre part, nous vous renvoyons le lien vers le formulaire d\'inscription : ' + BASE_URL + '/users/login\nCordialement' EMAIL_REINIT_SUBJECT = 'Réinitialisation du mot de passe' -EMAIL_REINIT_CORPUS = 'Bonjour,\nVous trouverez ci-joint le lien pour réinitialiser votre mot de passe : http://localhost:3000/users/password/reset?uuid=%s\nCordialement' +EMAIL_REINIT_CORPUS = 'Bonjour,\nVous trouverez ci-joint le lien pour réinitialiser votre mot de passe : ' + BASE_URL + '/users/password/reset?uuid=%s\nCordialement' DOCUMENT_DIR = 'documents' @@ -248,13 +250,10 @@ CORS_ALLOW_ALL_HEADERS = True CORS_ALLOW_CREDENTIALS = True CORS_ALLOWED_ORIGINS = [ - "http://localhost:3000" + os.getenv('CORS_ALLOWED_ORIGINS', 'http://localhost:3000') ] -CSRF_TRUSTED_ORIGINS = [ - "http://localhost:3000", # Front Next.js - "http://localhost:8080" # Insomnia -] +CSRF_TRUSTED_ORIGINS = os.getenv('CSRF_TRUSTED_ORIGINS', 'http://localhost:3000,http://localhost:8080').split(',') CSRF_COOKIE_HTTPONLY = False CSRF_COOKIE_SECURE = False diff --git a/docker-compose.yml b/docker-compose.yml index c725dc9..e3fb1d5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,6 +29,8 @@ services: environment: - TZ=Europe/Paris - TEST_MODE=True + - CORS_ALLOWED_ORIGINS=http://localhost:3000 + - CSRF_TRUSTED_ORIGINS=http://localhost:3000,http://localhost:8080 links: - "database:database" - "redis:redis"