rgo*_*alv 3 javascript node.js express firebase firebase-authentication
如果我的页面只能由经过身份验证的用户访问,如何检查用户是否经过身份验证?
我尝试使用,(firebase.auth().currentUser !== null)但出现错误消息:TypeError: firebase.auth is not a function
我有以下配置:
const express = require('express'),
firebase = require('firebase'),
app = express();
app.use(express.static("/public"));
var config = {
apiKey: "xxxx",
authDomain: "xxxx",
databaseURL: "xxxx",
projectId: "xxxx",
storageBucket: "xxxx",
messagingSenderId: "xxxx"
};
firebase.initializeApp(config);
app.get("/dashboard", (request, response) => {
if (firebase.auth().currentUser !== null){
response.render("dashboard.ejs")
}
else{
response.render("login.ejs");
}
});
Run Code Online (Sandbox Code Playgroud)
您的代码在Express应用中,这意味着它在服务器上运行。您使用的Firebase SDK仅适用于客户端设备,在Express环境中无法正常使用。服务器上没有“当前用户”的概念。当然,可以将每个请求的用户标识传递给服务器,但是服务器本身是无状态的。
在您的Express服务器中,您将要使用Firebase Admin SDK。查看此Cloud Functions示例,了解如何构建经过身份验证的端点。
| 归档时间: |
|
| 查看次数: |
3470 次 |
| 最近记录: |