Connexion de la porte sur le deuxième facteur

FeatureSecurityService
Expédié
3 août 2026 à 04:31 UTC
Auteur
Kamo
Commite
e5efc19

Complète l'AMF. Le noyau a atterri en kamo-shared-library; c'est le fil qui tourne Configuration stockée dans une porte réelle. La porte est petite parce que la logine avait déjà la bonne forme: elle crée le et le remet au client UNIQUEMENT comme clé à usage unique dans le corps de réponse - non Le cookie est placé à l'aide de la connexion. Donc tout le mécanisme est de retenir l'OTK jusqu'à la Un deuxième facteur est prouvé. Une session pour laquelle personne n'est OXYD est inaccessible, qui signifie que la création de session elle-même n'a pas besoin d'une intervention chirurgicale du tout. MfaChallengeService détient le «Id» sous un jeton opaque à usage unique, de 5 minutes. Le client ne reçoit jamais l'id de session, et le jeton est sans valeur sans code. À court terme: un état à moitié authentifié survit à un compromis de mot de passe. POST /api/security/mfa/challenge complète la connexion, libérant l'OTK de sorte que le Le client reprend exactement le flux qu'il aurait eu sans l'AMF. Un mauvais code ne libère rien et - délibérément - NE riscule pas le défi, parce que le forçage un utilisateur à travers le mot de passe sur une faute de frappe est la façon dont le MFA est désactivé. Le Le lock-out de l'inscription compte de ces défaillances. Un succès absorbe le défi. il ne peut pas être rejoué. Les codes de récupération le complètent également, et ne sont jamais aussi essayés comme a TOTP. Les critères d'inclusion (/souciance, /confirmer, /statuaire) nécessitent une session et l'inscription d'un facteur est une action authentifiée sur votre propre compte. non, parce que son appelant est intermédiaire par définition. INERT AUJOURD'HUI: la porte ne fait que l'incendie de hasConfirmedFactor, et personne n'est inscrit, donc le chemin de connexion existant est octet-identique. C'est le point - cela peut se déployer avant qu'un client ne le soutienne. Le cliquet d'extrémité a attrapé mes trois responsables de l'enrôlement en tant que sans surveillance. Ils sont gardé, par l'intermédiaire d'un userIdFromSession helper, le balayage à une méthode ne peut pas suivre, Donc la solution était d'enseigner GUARD qui aide plutôt que de les baser. Je suis également documenter la limitation inverse de la même exposition: completeChallenge n'éclaire l'analyse que parce qu'il se trouve toucher kSessionService.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation