我正在使用Firebase云功能与Express和Firebase托管来为我的多页面站点服务。我已经成功地实现了服务器端cookie,如下文所述:
function verifyLogin(request, response, next) {
const sessionCookie = request.cookies.__session || '';
firebase.auth().verifySessionCookie(sessionCookie, true /** checkRevoked */ )
.then((decodedClaims) => {
//serve content for user
return next();
}).catch(error => {
// Session cookie is unavailable or invalid. Force user to log in.
console.log(error);
response.redirect('/login');
return;
});
}
app.get('/', verifyLogin, (request, response) => {
var page_title = "Home";
response.render('index', {
page_title,
});
});
我正在使用Firebase Web SDK(JavaScript)访问Firebase Cloud Firestore。为此,我需要在客户端为当前登录的用户获取idToken,如下所示:
firebase.auth().onAuthStateChanged(firebaseUser => {
if (firebaseUser) {
firebase.auth().currentUser.getIdTokenResult()
.then((idTokenResult) => {
// Access the Firebase Cloud Firestore here
});
}
});
这对我来说似乎是多余的,因为我已经知道哪个用户是通过我的服务器cookie登录的,但是如果不对Firebase Auth进行另一次调用,我还如何获得idToken呢?
有没有一种方法可以从我的会话cookie中以某种方式外推它,并将它作为变量从我的云函数传递给我的客户机?
或者有没有另一种方法从哲学的角度来看待这一点,而我忽略了这一点?
使用onauthStateChanged()
可以监听用户登录状态更改,使用onIdTokenChanged()也可以监听用户ID令牌更改。只有当附加的观察者显示出现了新的令牌时(例如,当SDK每小时刷新一次令牌时),才需要使用新的令牌。
问题内容: 我想在学习活动中构建一个简单的Web应用程序。如果遇到首次访问者,Webapp应该要求用户输入他们的email_id,否则它会通过cookie记住用户并自动登录以执行功能。 这是我第一次创建基于用户的Web应用程序。我心中有一个蓝图,但是我无法弄清楚如何实现它。首先,我对收集用户cookie的方式感到困惑。我研究了各种教程和flask_login,但是与flask_login所实现的相
在调用writeAndFlush()之后,我不知道如何从服务器检索响应;我该怎么办? 我也使用Netty 4.0.18.final
我已经在本地机器中配置了minikube,并打算在外部使用kubernetes。我在kubernetes中创建了一个服务帐户,使用它的秘密,我可以使用下面的命令获得访问令牌。 我正在以贝娄启动配置。 我能知道如何使用fabric8 java客户端获得上面描述的serviceAccountAccessToken吗?
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se
问题内容: 我没有前端。我希望用户将我的API(例如,(邮递员))与基本身份验证标头(电子邮件:密码)一起使用,然后使用此标头可以从firebase获取用户数据。 但是我找不到验证实际用户的方法吗? 我已经使用以下命令正确连接到数据库 我试图研究这些方法: 但是我看不到从服务器登录用户的选项… 从nodejs服务器似乎非常容易…例如 java /中是否存在此方法?如何在Java中针对服务器且没有客
我想使用证书凭据将文件上载到s3。是否可以使用certifcate获取s3 bucket的客户机对象? 最初,我尝试使用下面的命令上传一个文件, 现在,我不想使用ACCESS_KEY | SECRET_KEY来创建客户机对象,因为它正在边缘设备上运行。相反,我已经生成了证书(IOT)。我想使用此证书创建客户端对象。因此,最后我有了临时访问权|密钥|秘密|会话|令牌。我想传递这些临时凭据以创建客户端