2016-04-27 70 views
0

我们目前使用Metoer与OAuth和铁路路由器。流星:通过社交媒体区分登录和注册

我的问题是,我想区分使用社交媒体登录和注册。我将以Facebook为例详细说明我的需求:

1)我不想让新用户在我的普通URL上通过Facebook注册。

2)我生成的URL和目前登录/登记这些。这里我想让新用户注册。

所以我试图做到目前为止是区分网址,或找到一种方式来进行两个不同的函数调用,其中一个为新帐户打开,另一个不是。

I.e.在某些情况下,如果匹配本地帐户的帐户包测试失败,我需要一种方法来停止帐户流程,但我无法找到何时何地执行此操作。

正如我目前了解Facebook的Meteor帐户包,使用loginWithFacebook()将成功检查FB凭证后创建一个帐户,如果我们的Meteor应用程序中没有任何存在。

有没有其他人有这个问题,或者你有一个想法如何通过社交媒体帐户完成这种差异化的登录和注册?

回答

0

如果要禁止注册新用户,但允许现有用户登录,只需使用此服务器端代码即可。

Accounts.validateNewUser(function (user) { 
    return false; 
}); 

http://docs.meteor.com/#/full/accounts_validatenewuser

+0

感谢这个建议。我发现为了尽量减少问题的范围,我忽略了一个关键因素: 我想在同一个应用程序中区分登录和注册某些URL,而不是其他人。 I.e.我希望在注册工作时生成唯一的URL,而我的普通公共登录URL仅用于登录,而不是注册。从我看到的URL不传递给服务器,所以我不能使用URL或变量与validateNewUser函数?我也会更新我最初的问题。 –