2015-04-25 61 views
0

有什么方法可以劫持Accounts系统,允许从服务器登录用户而不需要密码?没有密码的流星登录

我有一个'快速用户切换'的概念,要求用户每天都照常登录,但系统是多用户的,所以我想让他们使用四位密钥快速切换。我需要的是通过代码更改登录用户的方式,而不需要完整的用户名/密码组合。

+0

的也许旧账系统是不正确的做法去吧。您是否考虑过将多个用户绑定到一个账户,以便他们能够快速切换,从而消除了改变账户安全方式的需求? –

+0

@你好,我认为这可能会更复杂。这不是我想要的。 –

回答

1

是的,它很容易实际。

只需创建一个存储的PIN码/用户ID组合集合,并创建一个新的loginhandler(Accounts.registerLoginHandler)

在loginhandler获取的提供的pin码的用户名和这样做:

https://gist.github.com/anonymous/86245712c1dee5d2bdbd (未经测试,但你的想法)

你也可以保存在用户收集pin码领域,这取决于你当然

+1

我不得不从https://meteorhacks.com/extending-meteor-accounts.html收集更多的过程,但这最终成为最好的方法。 –

0

我不这么认为。如果您根本不需要密码,则可以对密码进行硬编码。将每个帐户(受影响的帐户)更改为硬编码值,然后使用相同的值执行登录。您可以更改服务器上任何帐户的密码。

如果您想在keycode中使用,您的代码也将其用作密码。

如果您要进行硬编码,您可能需要设置一个环境变量来存储密码。只需启动流星像这样:

SECRET="yourpassword" meteor 

然后你就可以通过访问服务器上的密码:

var password = process.env.SECRET;