使用firebase在nestjs中登录并注册

我想创建像前端一样登录和注册的 Nestjs 应用程序,然后在我的 Nodejs 应用程序中编写此代码,如下所示:

const firebase = require('firebase');
firebase.initializeApp(config.firebase);

app.post('/login',(req,res)=>{
    firebase
        .auth()
        .signInWithEmailAndPassword(req.body.email, req.body.password)
        .then((e) => {
            firebase
                .auth()
                .currentUser.getIdToken(true)
                .then((idToken) => {                    
                    res.json({idToken});
                });
        })
        .catch((err) => {
            console.log(err);
        });

});

现在我想在 Nestjs 中使用它,但我遇到了一些错误。

我试过这个但不工作:

import * as firebase from 'firebase/app';
import * as auth from 'firebase/auth';
firebase.initializeApp(clientAccount);

auth.initializeAuth(firebase.getApp());
@Controller('auth')
export class AuthController {
  constructor(private authService: AuthService) {}

  @Post('/register')
  registerUser(@Body() body) {
    const { email, password } = body;
    console.log({ email, password });
    auth
      .createUserWithEmailAndPassword(auth.getAuth(), email, password)
      .then(async (user) => {
        return user;
      })
      .catch((err: any) => {
        // res.status(500).send(err);
        throw new BadGatewayException(err);
      });
  }

createUserWithEmailAndPassword 函数接受三个参数,但我不知道第一个参数是什么?

我收到此错误:BadGatewayException: Firebase: Error (auth/configuration-not-found)。

stack overflow login and register in nestjs with firebase
原文答案
author avatar

接受的答案

当您尝试使用的身份验证源尚未在 firebase 项目中启用时,您会收到此错误。转到 firebase 控制台并启用身份验证。例如:

enter image description here


答案: