2015-04-25 92 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;