firebase / firebase/firebase-admin-node
[FR] Verify password server-side
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.7k
- Forks
- 419
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 16
Descripción
**Is your feature request related to a problem? Please describe.**
I want to create a GraphQL API through which everything server-side is handled, including email-password authentication. Also, I want to make use of Firebase Authentication. I am able to register users with their email and password server-side, however, I am not able to verify their password when they are logging in through the GraphQL API, since the auth module of the node admin sdk does not support 'signing in', or checking the password in any other way server-side. I know I am able to recreate such a use case by letting the user login with the client side sdk, and after that, sending an id token to authenticate themselves, but that would require the client to have firebase installed, which is something I'd like to avoid.
**Describe the solution you'd like**
Something like `const userRecord = await auth().getUserByEmailAndPassword(email, password)` or `const isPasswordValid = await user.verifyPassword(password)`
**Describe alternatives you've considered**
Using an ID token sent from the client, but that would require you to install firebase on the client.
Guía de contribución
Línea de trabajo
Comienza revisando el módulo auth de Node Admin SDK y sus métodos compatibles del lado del servidor, y luego compáralos con el Firebase Authentication client SDK y el flujo de GraphQL API descrito aquí. El trabajo estaría terminado cuando exista una forma documentada y compatible de verificar credenciales de email y contraseña en el lado del servidor sin requerir Firebase en el cliente; confirma las restricciones de seguridad y de la API antes de proponer trabajo de implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- firebase, node.js, typescript
- Área
- api, authentication, backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100