2016-04-27 68 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函數?我也會更新我最初的問題。 –