2016-01-06 60 views
1

我有一個需求,我需要在默認情況下需要將新用戶登錄到Meteor應用程序,然後將用戶帶到重置密碼路由。如何在默認情況下登錄新用戶郵件邀請流星?

我看着這documentation,但我不認爲它適用於此,因爲密碼不知道。以下是我的使用案例詳細信息: -

用戶通過提供受邀用戶的電子郵件ID來邀請其他新用戶。應用程序向用戶發送電子郵件邀請,要求他們被帶到通常需要登錄到應用程序的路線。

收到電子郵件邀請的新用戶尚未使用該應用程序註冊。所以,他們需要選擇密碼才能登錄到應用程序的受邀區域。

目前,我正在使用meteor-useraccounts:core包;觸發FlowRouter的resetPasswd路由。使用onSubmitHook,可以在成功重置密碼後將用戶重定向到適當的位置。

但是,我無法弄清楚如何首先自動登錄用戶。因爲如果用戶未登錄,重置密碼頁面將不會打開。相反,它會顯示一些錯誤,表明未經授權的操作。

如何通過郵件向受邀用戶發送鏈接,該用戶會自動登錄用戶?

+0

爲什麼重置密碼路由要求您登錄?爲什麼不把它留在認證邏輯之外呢? –

+1

通過[cloak.ly](https://cloak.ly)邀請,您可以進入*註冊*頁面,該頁面允許用戶輸入他們的電子郵件地址並設置其密碼。該頁面還會告訴您誰邀請您和何時。經歷一個重置週期似乎很奇怪。邀請的一個有趣的方面是被邀請者可以選擇註冊一個不同的電子郵件地址(例如,你通過他們的工作電子郵件邀請他們,但他們想用個人地址註冊)。 –

回答

1

我看着這個文檔,但我不認爲它適用於 這裏,因爲密碼是未知的。

這是正確的,因此,爲了實現在用戶輸入通過電子郵件發送的鏈接時必須爲該電子郵件創建帳戶。或者在邀請時創建帳戶。

所以可能的解決方案:

1)創建查詢(http://app/[email protected])的路線,隨機密碼提供的電子郵件帳戶,重置登錄後立即發送密碼的電子郵件。 (創建登錄自動登錄用戶)。這也需要一些安全密鑰,以便沒有人可以在不同的電子郵件地址上創建大量帳戶。

2)在邀請時創建賬戶,隨機輸入密碼並將其作爲發送給被邀請用戶的鏈接的查詢參數發送。當用戶進入該站點時,您需要輸入該密碼(和電子郵件)並使用該密碼登錄,並立即發送該電子郵件的重置密碼