Ajoute le support d'un jeton d'accès pour les serveurs ntfy protégés
Certains serveurs ntfy auto-hébergés (ex: ntfy.arkel.fr) renvoient
403 Forbidden sans authentification. Un nouveau champ "Jeton d'accès"
(optionnel, type password) sur /settings permet de renseigner un token
qui sera envoyé comme "Authorization: Bearer ..." à chaque publication,
pour les rappels réels comme pour le bouton de test. La page /aide
documente le cas 403 et la marche à suivre.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@ -563,6 +563,7 @@ def settings_page(request: Request):
|
||||
"current_user": user_id,
|
||||
"ntfy_topic": notif.get("ntfy_topic") or "",
|
||||
"ntfy_server": notif.get("ntfy_server") or "https://ntfy.sh",
|
||||
"ntfy_token": notif.get("ntfy_token") or "",
|
||||
"rappel_debut_h": notif.get("rappel_debut_h", 7),
|
||||
"rappel_fin_h": notif.get("rappel_fin_h", 20),
|
||||
"arrivee_url": f"{base_url}/presence/{notif['token']}/arrivee",
|
||||
@ -578,6 +579,7 @@ def settings_page(request: Request):
|
||||
def settings_save(
|
||||
request: Request, ntfy_topic: str = Form(""), ntfy_server: str = Form(""),
|
||||
rappel_debut_h: int = Form(7), rappel_fin_h: int = Form(20),
|
||||
ntfy_token: str = Form(""),
|
||||
):
|
||||
user_id = _get_user(request)
|
||||
if not user_id:
|
||||
@ -587,10 +589,11 @@ def settings_save(
|
||||
rappel_fin_h = max(rappel_debut_h + 1, min(24, rappel_fin_h))
|
||||
|
||||
logger.info(
|
||||
"réglages notif mis à jour: user_id=%r ntfy_topic=%r ntfy_server=%r plage=%sh-%sh",
|
||||
"réglages notif mis à jour: user_id=%r ntfy_topic=%r ntfy_server=%r plage=%sh-%sh token=%s",
|
||||
user_id, ntfy_topic, ntfy_server, rappel_debut_h, rappel_fin_h,
|
||||
"(défini)" if ntfy_token.strip() else "(vide)",
|
||||
)
|
||||
save_notif_config(user_id, ntfy_topic, ntfy_server, rappel_debut_h, rappel_fin_h)
|
||||
save_notif_config(user_id, ntfy_topic, ntfy_server, rappel_debut_h, rappel_fin_h, ntfy_token)
|
||||
return RedirectResponse("/settings?saved=1", status_code=303)
|
||||
|
||||
|
||||
@ -616,7 +619,7 @@ def settings_test_ntfy(request: Request):
|
||||
ok = send_ntfy(
|
||||
server, topic,
|
||||
"Ceci est une notification de test — ta configuration ntfy fonctionne.",
|
||||
"Test pointeuse", user_id=user_id,
|
||||
"Test pointeuse", user_id=user_id, token=notif.get("ntfy_token", ""),
|
||||
)
|
||||
cls = "settings-saved" if ok else "settings-error"
|
||||
msg = ("Notification envoyée. Vérifie ton téléphone, elle doit arriver en quelques secondes."
|
||||
|
||||
Reference in New Issue
Block a user