Express 检测是否有人从常规Node.js应用程序登录Meteor
有没有办法让我检查一下,看看是否有人是从流星外部登录到流星的;例如,从Express.js应用程序?我想从Express应用程序中知道当前登录的用户在某个特定客户端上是谁,这样,如果调用了API,我们就可以知道将API调用的结果应用到谁身上。因此最好分两部分来完成 在meteor中检查用户是否在线的方法Express 检测是否有人从常规Node.js应用程序登录Meteor,express,meteor,Express,Meteor,有没有办法让我检查一下,看看是否有人是从流星外部登录到流星的;例如,从Express.js应用程序?我想从Express应用程序中知道当前登录的用户在某个特定客户端上是谁,这样,如果调用了API,我们就可以知道将API调用的结果应用到谁身上。因此最好分两部分来完成 在meteor中检查用户是否在线的方法 Meteor.methods({ 'isonline: function(id) { return Meteor.users.find(id).profile.onli
Meteor.methods({
'isonline: function(id) {
return Meteor.users.find(id).profile.online;
}
}
您可能可以使用meteor智能包()来实现这一点:
确保您已经通过npm安装meteorite-g安装了
在您的套餐回购中使用:mrt在线添加配置文件
使用Express访问meteor的数据
要访问Express中的内容,您需要一个DDP客户端,我知道这个客户端与pre1(的版本)配合使用:
你可以有一个方法来检查你在流星
服务器js(流星)
Express:
var client = new DDPClient({
host: "localhost",
port: 3000
});
userid = '1' //The user _id of the person you want to check
client.connect(function () {
console.log("Connected to Meteor at localhost:3000");
client.call("isonline", [userid], function(err,result) {
client.close();
if(!err) {
if(result) {
console.log("User " + userid + " is online");
}
else
{
console.log("That user isn't online");
}
}
else
{
console.log(err)
}
});
});
我本应该进一步澄清这个问题的。我想检查是否有人从Meteor以外的应用程序在当前客户端登录Meteor。此Express应用程序希望检查Meteor中当前登录用户的用户ID,如果没有,则为空。请进一步澄清我在从Meteor之外的应用程序登录当前客户端时有点迷失,如何在Meteor之外登录?你不是在收留我吧?假设你登录了Meteor。现在,您希望在Meteor上执行一些任务,这些任务需要调用与Meteor分离的RESTAPI。然而,RESTAPI服务器需要知道Meteor的哪个用户正在发出请求。RESTAPI如何知道用户是谁?假设RESTAPI可以访问Meteor正在访问的MongoDB实例,并且能够对Meteor进行DDP调用。那么您想知道特定客户端的当前登录用户是谁?您当前使用什么方法来识别客户机?通过改变meteor方法,我们可以使用meteor.userID()根据电子邮件身份验证来确定它。