我将firebase-admin用于node.js,将firebase用于react。 我想获取访问令牌以将其发送到标头中的服务器,以保护我的数据。 我在React应用上使用此代码
firebase.auth().signInWithEmailAndPassword(form.elements.email.value, form.elements.password.value)
.then((result) => {
console.log(result)
})
.catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorMessage);
});
但是我不知道如何从结果中获取令牌。 还是我有一些方法可以在服务器上使用API? 它应该像这样工作: 如果用户想进入管理面板,则应登录。客户端获得令牌,是否在cookie中设置并与任何请求一起使用?
答案 0 :(得分:0)
从signInWithEmailAndPassword
返回的数据中没有ID令牌。相反,您可以做的是遵循documentation,并在登录完成后使用getIdToken()来获取令牌。
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
// Send token to your backend via HTTPS
// ...
}).catch(function(error) {
// Handle error
});
链接的文档继续说明如何使用Firebase Admin SDK在后端验证令牌。