fix: validate types for login email and password (500 on non-string or missing body)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- express, postgresql, typescript
- Domaine
- api, authentication, backend
Piste de recherche
Lis apps/http-server/src/controllers/authController.ts et l’implémentation existante de parseRegisterInput dans registerInput.ts pour connaître le modèle d’analyse des entrées du projet. Ajoute des tests des entrées de connexion pour les cas d’objet, de tableau, de nombre et de corps manquant, comme décrit. Le travail est terminé lorsque les entrées non valides renvoient une réponse 400 claire au lieu de provoquer une erreur 500.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
userLoginController (apps/http-server/src/controllers/authController.ts) is the one auth input that is still only checked for being truthy. Register has parseRegisterInput, and join and create quiz got the same treatment in #231, but login still does const { email, password } = req.body and if (!email || !password).
What happens
From reading the code, POST /api/v1/auth/login should give a generic 500 in these cases:
- No JSON body: the destructure throws, same as the no body case that #234 fixed for join.
{"email":{},"password":"x"}: gets past the check, then Prisma throws a validation error infindUnique.{"email":"[email protected]","password":123}:bcrypt.comparethrows on a non string.
I didn't run these against a database, the join versions behaved this way when I tested #234.
Expected behaviour
400 with a clear message for wrong types.
Proposed fix
A small parseLoginInput next to registerInput.ts, returned through the existing errorResponse(res, 400, ...), with tests for the object, array, number and no body cases.
Happy to send a PR for this, and #234 is merged so I don't have anything else open here. Labels and level are your call.
- Langage dominant
- TypeScript
- Étoiles
- 21
- Forks
- 7
- Merge moyen
- 8 h 12 min
- PR mergées (30 j)
- 36
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TheCodeHeist-Coder/Rexial
-
bug good first issue help wanted UI & UX
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100
TheCodeHeist-Coder/Rexial#178 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug enhancement good first issue help wanted UI & UX
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
TheCodeHeist-Coder/Rexial#162 ·
Les mainteneurs répondent en général sous 1 jour
-
Critical security: a couple of access control problems in the API and ws-server (details to be shared privately)Peut-être pris @Anshuu2004 l’a pris il y a 11 jours. Ouvertelevel3 nsoc26
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
TheCodeHeist-Coder/Rexial#215 · 4 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement help wanted UI & UX
Difficulté 4/5 3-5 jours Accessibilité débutants 54/100
TheCodeHeist-Coder/Rexial#201 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
A host cannot see who won a quiz they already hostedPeut-être pris @Harshit214713 l’a pris il y a 11 jours. Ouverteenhancement good first issue help wanted level2 nsoc26 UI & UX
Difficulté 4/5 3-5 jours Accessibilité débutants 58/100
TheCodeHeist-Coder/Rexial#200 · 3 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de TheCodeHeist-Coder/Rexial
Issues similaires
-
FR: Support CJK brackets, symbols and full-width markers in footnoteHeuristics (EBPAJ support)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
readest/readest#7413 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
content triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eliasstravik/herdr-projects#788 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Ability to edit tagsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour