Firebase身份验证,未定义Firebase

时间:2019-05-28 01:29:36

标签: javascript firebase firebase-authentication google-cloud-functions

我试图在我的Firebase项目中创建一个登录页面,但是总是在我将参数发送给函数时返回“ Firebase未定义。这是我的代码:

<button id="login" onclick="signIn()"><Login</button>

函数signIn()仅将href更改为http://localhost:5000/signin/:email/:password

那我有这个

const functions = require('firebase-functions');
const adm = require('firebase-admin');
const express = require('express');
const signin = require('./modules/signin');
const firebase = require("firebase");

// // Create and Deploy Your First Cloud Functions
adm.initializeApp(
    functions.config().adm
);

const app = express();

app.get('/signin/:email/:password', (request, response) => {
    exports.signin = signin(request.params.email, request.params.password);    
});

exports.app = functions.https.onRequest(app);

只有我的功能

function signin (email, password) {
firebase.auth().signInWithEmailAndPassword(email, password).then(function(user) {
    // user signed in
    console.log ("Usuário logado com sucesso!");
    return True;
    }).catch(function(error) {
        var errorCode = error.code;
        var errorMessage = error.message;

        if (errorCode === 'auth/wrong-password') {
            // alert('Wrong password.');
            return false;
        } else {
            alert(errorCode+": "+errorMessage); 
            return false;        
        }
    });

}

module.exports = signin;

im试图使用functions文件夹上的index.js作为一种“控制器”来在后端调用函数,但是我无法解决这个简单的问题。

1 个答案:

答案 0 :(得分:4)

您不能在Cloud Functions中使用Firebase客户端SDK。 Cloud Functions被认为是后端代码,无法在浏览器上运行。如果要登录用户,则必须在浏览器代码中使用SDK,而不要在后端代码中使用。

相关问题