fix: validate types for login email and password (500 on non-string or missing body)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- express, postgresql, typescript
- Área
- api, authentication, backend
Línea de trabajo
Lee apps/http-server/src/controllers/authController.ts y la implementación existente de parseRegisterInput en registerInput.ts para conocer el patrón de análisis de entradas del proyecto. Añade pruebas de entradas de inicio de sesión para los casos de objeto, array, número y cuerpo ausente, tal como se describe. El trabajo está terminado cuando las entradas no válidas devuelven una respuesta 400 clara en vez de provocar un 500.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 21
- Forks
- 7
- Merge medio
- 8 h 12 min
- PR fusionados (30 d)
- 36
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TheCodeHeist-Coder/Rexial
-
bug good first issue help wanted UI & UX
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
TheCodeHeist-Coder/Rexial#178 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug enhancement good first issue help wanted UI & UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
TheCodeHeist-Coder/Rexial#162 ·
Los mantenedores suelen responder en 1 día
-
Critical security: a couple of access control problems in the API and ws-server (details to be shared privately)Posiblemente ocupada @Anshuu2004 la tomó hace 11 días. Abiertolevel3 nsoc26
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
TheCodeHeist-Coder/Rexial#215 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement help wanted UI & UX
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
TheCodeHeist-Coder/Rexial#201 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
A host cannot see who won a quiz they already hostedPosiblemente ocupada @Harshit214713 la tomó hace 11 días. Abiertoenhancement good first issue help wanted level2 nsoc26 UI & UX
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
TheCodeHeist-Coder/Rexial#200 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de TheCodeHeist-Coder/Rexial
Issues similares
-
FR: Support CJK brackets, symbols and full-width markers in footnoteHeuristics (EBPAJ support)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
readest/readest#7413 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
content triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eliasstravik/herdr-projects#788 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Ability to edit tagsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día