feat(auth): prendre en charge le PIN de compte Pronote pour le flux QR/token #8
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Constat
La branche contient déjà le mode
PRONOTE_AUTH_MODE=qr_token(PR #6), mais le wrapper ne transmet àpronotepyqueqr_code,pinetuuid.Or la version installée
pronotepy 2.15.7expose le paramètre optionnelaccount_pindans :ParentClient.qrcode_login(..., account_pin=None, ...);ParentClient.token_login(..., account_pin=None, ...).Ce paramètre est utilisé par la bibliothèque lorsque le compte Pronote exige un second facteur. Dans son état actuel, un compte activant cette protection ne peut pas terminer l'enrôlement QR ni renouveler son jeton via
pronote-sync.Proposition
Ajouter un réglage dédié, par exemple
PRONOTE_ACCOUNT_PIN:SecretStr | NonedansPronoteSettings;qrcode_loginettoken_loginuniquement en modeqr_token;.pronote_auth_state.jsonni journalisé ;Settings.redaction_secrets()et_collect_auth_secrets().Documenter clairement qu'il s'agit du PIN de second facteur du compte, distinct du
PRONOTE_QR_PINà quatre chiffres qui déchiffre le QR code.Critères d'acceptation
pronotepyreçoiventaccount_pinlorsqu'il est configuré, etNonesinon..env.examplesous forme de valeur réelle.pronotepy 2.15.7(fake/signature-faithful) pour l'enrôlement et le renouvellement.Périmètre
À traiter après ou avec l'intégration de PR #6 ; aucun changement au mode
passwordn'est requis.