使用Firebase的云功能:signInWithEmailAndPassword不是一个功能

时间:2017-06-13 22:51:36

标签: node.js firebase firebase-authentication google-cloud-functions

我开始使用使用Firebase的云功能编写代码。 在下面的函数中,testCreateUserAccount成功。 testLogin在运行时失败并出现类型错误,说明“ signInWithEmailAndPassword不是函数

根据我在文档中看到的, createUser signInWithEmailAndPassword 属于同一类,因此我不清楚为什么尝试调用signInWithEmailAndPassword会失败。有任何想法吗?谢谢!

"use strict"; 

var functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp(functions.config().firebase);   

exports.testCreateUserAccount = functions.https.onRequest ((req, res) => {
    var email = "joe@example.com";
    var password = "joejoe";

    admin.auth().createUser({
      email: email,
      password: password,
      disabled: false
    });
} );


exports.testLogin = functions.https.onRequest ((req, res) => {
    var email = "joe@example.com";
    var password = "joejoe";

    admin.auth().signInWithEmailAndPassword(email, password);
} );

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:-1)

您可以像这样使用Identity工具包REST API,然后使用idToken进行响应。可以使用IdToken在Cloud Function中使用admin.auth().verifyIdToken(idToken)来验证帐户。

https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=YOUR_PROJECT_API_KEY_THAT_ALLOWS_IDENTITY_TOOLKIT_SERVICE&email=test@gmail.com&password=samplepass&returnSecureToken=true