feat(auth) : prendre en charge le PIN de compte Pronote #37

Open
Codex wants to merge 2 commits from feat/issue-8-account-pin into main
Collaborator

Résumé

Ajoute PRONOTE_ACCOUNT_PIN pour les comptes Pronote qui exigent un PIN de second facteur en mode QR/token.

Décisions d'architecture

  • Le nouveau réglage est un SecretStr | None distinct de PRONOTE_QR_PIN.
  • Il est transmis explicitement à ParentClient.qrcode_login et ParentClient.token_login, avec None lorsqu'il n'est pas configuré.
  • Il est inclus dans la collecte centralisée de secrets, masqué dans les sérialisations et absent de l'état QR/token persistant.
  • Le mode password reste inchangé.
  • La signature installée de pronotepy 2.15.7 a été vérifiée localement.

Validation

  • 57 passed : configuration et client Pronote
  • Cas configuré et non configuré couverts pour l'enrôlement QR et le login token
  • Test de non-fuite du PIN de compte dans les erreurs et logs
  • ruff check et ruff format --check
  • Pre-commit complet : Ruff, format, mypy, Bandit, conflits, fichiers, detect-secrets
  • Aucun secret réel ni accès réseau utilisé

Closes #8

## Résumé Ajoute `PRONOTE_ACCOUNT_PIN` pour les comptes Pronote qui exigent un PIN de second facteur en mode QR/token. ## Décisions d'architecture - Le nouveau réglage est un `SecretStr | None` distinct de `PRONOTE_QR_PIN`. - Il est transmis explicitement à `ParentClient.qrcode_login` et `ParentClient.token_login`, avec `None` lorsqu'il n'est pas configuré. - Il est inclus dans la collecte centralisée de secrets, masqué dans les sérialisations et absent de l'état QR/token persistant. - Le mode `password` reste inchangé. - La signature installée de `pronotepy 2.15.7` a été vérifiée localement. ## Validation - `57 passed` : configuration et client Pronote - Cas configuré et non configuré couverts pour l'enrôlement QR et le login token - Test de non-fuite du PIN de compte dans les erreurs et logs - `ruff check` et `ruff format --check` - Pre-commit complet : Ruff, format, mypy, Bandit, conflits, fichiers, detect-secrets - Aucun secret réel ni accès réseau utilisé Closes #8
Codex added the priority:higharea:pronotearea:autharea:security labels 2026-09-12 15:18:28 +02:00
Codex added 1 commit 2026-09-12 15:18:29 +02:00
AntoineVe added 1 commit 2026-09-12 18:16:24 +02:00
# Conflicts:
#	docs/exploitation.md
This pull request has changes conflicting with the target branch.
  • tests/unit/test_config.py
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/issue-8-account-pin:feat/issue-8-account-pin
git checkout feat/issue-8-account-pin
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AntoineVe/college-infos#37