Skip to content

Google OAuth PKCE et accès public sans progression personnelle - #34

Merged
iPoower merged 6 commits into
mainfrom
feat/google-auth-private-devices-20261025
Oct 25, 2026
Merged

iPoower merged 6 commits into
mainfrom
feat/google-auth-private-devices-20261025

Conversation

@iPoower

@iPoower iPoower commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Google OAuth réutilise le transport Supabase avec PKCE S256, callback exact, vérification Auth /user et refus d’un propriétaire inattendu. Le compte confirmé et la phrase indépendante sont requis avant tout accès à la progression. Les cours publics restent accessibles sans compte, avant chargement du stockage personnel.

AES-256-GCM/PBKDF2 V1, restauration atomique V3, outbox chiffrée, révisions conditionnelles, RLS et historique de 20 versions sont conservés. Aucun app.js, SQL, dépendance ou workflow de déploiement remplacé. La lecture publique sous la même origine n’est pas une isolation entre applications ; un PC administré ne doit pas recevoir de session ou de phrase personnelle.

Validation : CI de la branche remise à jour 40170238102, SHA 9d8129a, puis CI du main fusionné 40170536664, SHA 0edcf3f : provenance, Chromium et WebKit réussis. Toutes les suites antérieures sont conservées, avec les nouveaux parcours OAuth/multi-clients, réouverture, hors ligne, réponse perdue et identité inattendue. HTTP Auth/REST de ces tests navigateur est simulé ; WebKit ne remplace pas un iPhone physique.

Intégration du 25 octobre sous GO global conditionnel : #33 fusionnée en premier (6612e01), puis cette PR après remise à jour et CI. Arbres de code identiques aux candidats validés ; branches historiques conservées. Main est désormais protégée : PR, trois contrôles GitHub Actions, base à jour, discussions résolues, aucun bypass administrateur, force-push ou suppression. Pas d’approbation indépendante obligatoire faute de second reviewer ; l’auteur ne peut pas s’auto-approuver.

Sur jsxbpxlipjmkszfektis : Google activé, nonce/email conservés, inscriptions publiques et anonymes fermées, URL de retour exacte. Catalogue de 31 lignes relu identique, RLS/grants minimaux inchangés, zéro utilisateur et zéro sauvegarde. Aucun SQL réinstallé. Security Advisor : 0 erreur/0 avertissement/0 suggestion. Les accès REST réels sans clé, anonymes et avec Bearer invalide sont refusés sur les deux tables. Le véritable endpoint authorize redirige vers Google avec seulement openid/email/profile et le callback Supabase attendu ; la page de connexion Google est atteinte sans erreur client affichée, sans connexion ni choix de compte.

Pages 40170790435 est maintenant réussi après approbation humaine iPoower. SHA effectivement publié : 0edcf3f, manifeste rattaché à la CI 40170536664. Les 24 fichiers publics, manifeste inclus, ont été comparés octet par octet au build du commit : tous conformes. Le lecteur public affiche les 42 cours, et le bouton Google du code publié mène réellement à accounts.google.com / Connexion sans erreur client affichée. Aucun compte sélectionné, phrase saisie ou snapshot envoyé ; la page Users confirme toujours zéro utilisateur. Le déploiement intermédiaire #33 reste annulé et les protections de publication sont conservées. Les notices Node 20/Node 24 et ubuntu-latest sont documentées comme maintenance, sans échec du déploiement.

Limites avant activation personnelle : échange OAuth complet, sessions Auth et REST propriétaire/interutilisateurs avec identités légitimes de recette, puis PC ↔ iPhone physique. Aucune identité Google de test disponible n’a été connectée. Aucun utilisateur personnel, secret de chiffrement, progression réelle, SMTP, dépense ou ancien projet modifié. Les premières connexion et sauvegarde personnelles restent sous le contrôle de l’utilisateur.

Preserve V3, encrypted outbox, AES-GCM envelopes and conditional writes.
Add isolated Auth/browser tests and a public-only course distribution.
Exercise every public lesson and reject implicit/unsolicited Auth returns.
@iPoower
iPoower changed the base branch from security/fail-closed-sql-envelope-20261024 to main October 25, 2026 06:44
@iPoower
iPoower merged commit 0edcf3f into main Oct 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant