关于 Meteor:Meteor – 在服务器上登录用户

Meteor - Log user in on the server

是否可以从服务器端登录用户?我正在尝试创建一个外部服务/应用程序可以登录到流星服务器的 url。

我尝试了以下操作:

1
2
3
4
5
6
7
8
9
Meteor.call('login', {
                password: data.password,
                user: {
                    email: data.email
                }
            }, function (error, result) {
                console.log(error);
                console.log(result);
            });

当使用无效数据(例如不存在的电子邮件或不正确的密码)调用时,我会收到正确的错误消息,例如 Incorrect Password。但是一旦它是数据库中确实存在的有效电子邮件和密码,我就会收到以下错误 [TypeError: Cannot read property 'id' of null]

所以我想知道的是 1)我可以用这个流星调用在服务器上登录用户吗 2)我做得正确还是有其他方法?


一句话,没有。外部服务要么需要运行流星客户端代码,要么需要手动建立 DDP 连接。我怀疑您正在寻找一个外观通用的 HTTP 端点,任何服务器都可以连接到该端点。如果是这种情况,您目前最好的选择是使用 API 密钥之类的东西。

  • 为每个用户/客户/服务分配一个唯一的密钥。
  • 在每个 HTTP 请求(服务器端路由)中都需要密钥。
  • 希望密钥不会被滥用/暴露,并考虑到这种可能性进行编程。