mirror of
https://github.com/almet/copanier.git
synced 2025-04-27 19:12: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
4
Makefile
4
Makefile
|
@ -1,2 +1,4 @@
|
|||
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:
|
||||
setattr(config, 'DEMO_MODE', False)
|
||||
|
||||
logger = logging.getLogger('roll')
|
||||
logger.info("auth required")
|
||||
if request.route.payload and not request.route.payload.get("unprotected"):
|
||||
logger.info("unprotected")
|
||||
token = request.cookies.get("token")
|
||||
email = None
|
||||
if token:
|
||||
logger.info("token detected")
|
||||
decoded = utils.read_token(token)
|
||||
email = decoded.get("sub")
|
||||
if not email:
|
||||
logger.info("no email detected")
|
||||
response.redirect = f"/connexion?next={url(request.path)}"
|
||||
return response
|
||||
|
||||
|
@ -75,7 +80,6 @@ async def set_sesame(request, response, token):
|
|||
if not decoded:
|
||||
response.message("Sésame invalide :(", status="error")
|
||||
else:
|
||||
response.message("Yay ! Le sésame a fonctionné. Bienvenue à bord ! :-)")
|
||||
response.cookies.set(
|
||||
name="token",
|
||||
value=token,
|
||||
|
@ -83,6 +87,8 @@ async def set_sesame(request, response, token):
|
|||
max_age=60 * 60 * 24 * 7,
|
||||
samesite="Strict",
|
||||
)
|
||||
request.cookies = response.cookies
|
||||
response.message("Yay ! Le sésame a fonctionné. Bienvenue à bord ! :-)")
|
||||
response.redirect = "/"
|
||||
|
||||
|
||||
|
@ -109,4 +115,3 @@ async def desactivate_demo(request, response):
|
|||
saved_config.demo_mode_enabled = False
|
||||
saved_config.persist()
|
||||
response.redirect = "/"
|
||||
|
||||
|
|
Loading…
Reference in a new issue