我已经看到了很多关于此的问题,但让我感到困惑的是firebase
nodejs
x createUserWithEmailAndPassword()
有一个函数{ {1}}。
每次我打印firebase.auth()
时,它只有这些功能:
{
createCustomToken: [Function],
verifyIdToken: [Function],
INTERNAL:{
delete: [Function],
getToken: [Function],
addAuthTokenListener: [Function],
removeAuthTokenListener: [Function]
}
}
此外,在相同的nodejs文档中,documentation表示:
auth(app)返回 firebase.auth.Auth
获取默认App或给定App的Auth对象。
用法:
firebase.auth()firebase.auth(app)
所以我假设调用firebase.auth()
会返回firebase.auth(),其中包含firebase.auth.Auth函数。
注意
是的,我使用firebase.initializeApp()
正确初始化了firebase并且它运行正常,我已经在进行database
个事务JSYK。
答案 0 :(得分:8)
适用于Node.js的Firebase SDK可以在两种模式下运行(从3.3版开始):
作为服务器端SDK,当您初始化它时会发生服务帐户
firebase.initializeApp({
serviceAccount: "myproject-3d9889aaeddb.json",
databaseURL: "https://myproject.firebaseio.com"
});
如果使用服务帐户初始化(3.2及以前版本中唯一可用的选项),您的连接将自动作为管理员进行身份验证,并且您只能admin auth functionality可用:创建和验证自定义令牌。< / p>
作为客户端SDK,在初始化时会发生工作API密钥
firebase.initializeApp({
apiKey: "myprojectsApiKey",
databaseURL: "https://myproject.firebaseio.com"
});
如果使用API密钥初始化(仅在版本3.3之后可用),您会发现client-side authentication methods可用。
它刚刚在我自己的项目中验证了这一点:
var firebase = require("firebase");
firebase.initializeApp({
apiKey: "AI...Sc",
databaseURL: "https://stackoverflow.firebaseio.com"
});
firebase.auth().createUserWithEmailAndPassword("nodeuser@firebaseui.com", "firebase")
.then(user => console.log(user))
.catch(error => console.error(error));
有关详细信息,请参阅this post on firebase-talk。