在Meteor.js的外部服务器中登录

时间:2015-09-09 12:21:36

标签: apache meteor login iron-router

长话短说,我的Meteor应用程序需要在Apache Web服务器上具有登录功能(这是因为将要使用该应用程序的公司的登录API)。 由于Meteor应用程序在Node.js上运行而不在Apache上运行,因此显而易见的解决方案似乎是:

  1. 使用accounts-passwordaccounts-base设置Meteor应用 封装
  2. 设置一个单独的Apache服务器(可能带有一些PHP 后端)登录
  3. 登录后,SAFELY传递登录用户名 从Apache服务器回到我的Meteor应用程序
  4. 我有流星的
  5. Meteor.loginWithPassword(username, password) 用户名(我不会将密码存储在Meteor的数据库中,我唯一知道的是,如果用户成功登录,我将在Apache服务器上使用用户名进行回调)。
  6. 您认为解决这个问题的方法是什么?

    感谢您的见解

1 个答案:

答案 0 :(得分:0)

如果您尝试使用更传统的框架,我建议您使用nimble:restivusWebApp。通过这些,您可以创建一个简单的ReST Api来返回用户ID和令牌。

if (Meteor.isServer) {
  ApiV1 = new Restivus({
    useDefaultAuth: true
  });
}

使用此API,您可以获取userId和令牌

$ http post -f user=user@user.org password=password
{
  status: 'success',
  data: {
    token: "somefancytokenhere",
    userId: '123456'
  }
}

然后,您可以使用Meteor.loginWithToken登录流星服务。例如:

Meteor.loginWithToken(myRequest.data.token);