mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 11:32:38 +02:00
Try fixing the auth
This commit is contained in:
parent
d1b92cc639
commit
aabe6e3a06
2 changed files with 10 additions and 3 deletions
2
Makefile
2
Makefile
|
@ -1,2 +1,4 @@
|
||||||
serve:
|
serve:
|
||||||
./venv/bin/copanier serve --reload
|
./venv/bin/copanier serve --reload
|
||||||
|
pserve:
|
||||||
|
./venv/bin/gunicorn -k roll.worker.Worker copanier:app --bind 0.0.0.0:8000
|
||||||
|
|
|
@ -18,13 +18,18 @@ async def auth_required(request, response):
|
||||||
else:
|
else:
|
||||||
setattr(config, 'DEMO_MODE', False)
|
setattr(config, 'DEMO_MODE', False)
|
||||||
|
|
||||||
|
logger = logging.getLogger('roll')
|
||||||
|
logger.info("auth required")
|
||||||
if request.route.payload and not request.route.payload.get("unprotected"):
|
if request.route.payload and not request.route.payload.get("unprotected"):
|
||||||
|
logger.info("unprotected")
|
||||||
token = request.cookies.get("token")
|
token = request.cookies.get("token")
|
||||||
email = None
|
email = None
|
||||||
if token:
|
if token:
|
||||||
|
logger.info("token detected")
|
||||||
decoded = utils.read_token(token)
|
decoded = utils.read_token(token)
|
||||||
email = decoded.get("sub")
|
email = decoded.get("sub")
|
||||||
if not email:
|
if not email:
|
||||||
|
logger.info("no email detected")
|
||||||
response.redirect = f"/connexion?next={url(request.path)}"
|
response.redirect = f"/connexion?next={url(request.path)}"
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
@ -75,7 +80,6 @@ async def set_sesame(request, response, token):
|
||||||
if not decoded:
|
if not decoded:
|
||||||
response.message("Sésame invalide :(", status="error")
|
response.message("Sésame invalide :(", status="error")
|
||||||
else:
|
else:
|
||||||
response.message("Yay ! Le sésame a fonctionné. Bienvenue à bord ! :-)")
|
|
||||||
response.cookies.set(
|
response.cookies.set(
|
||||||
name="token",
|
name="token",
|
||||||
value=token,
|
value=token,
|
||||||
|
@ -83,6 +87,8 @@ async def set_sesame(request, response, token):
|
||||||
max_age=60 * 60 * 24 * 7,
|
max_age=60 * 60 * 24 * 7,
|
||||||
samesite="Strict",
|
samesite="Strict",
|
||||||
)
|
)
|
||||||
|
request.cookies = response.cookies
|
||||||
|
response.message("Yay ! Le sésame a fonctionné. Bienvenue à bord ! :-)")
|
||||||
response.redirect = "/"
|
response.redirect = "/"
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,4 +115,3 @@ async def desactivate_demo(request, response):
|
||||||
saved_config.demo_mode_enabled = False
|
saved_config.demo_mode_enabled = False
|
||||||
saved_config.persist()
|
saved_config.persist()
|
||||||
response.redirect = "/"
|
response.redirect = "/"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue