2013-04-14 47 views
2

綜觀url_client.js源代碼,它明確指出,流星帳戶重置密碼令牌總是空

// reset password urls use hash fragments instead of url paths/query 
    // strings so that the reset password token is not sent over the wire 
    // on the http request 

我使用mini-pages不url中的使用哈希代碼,因此我重置密碼令牌從未設置。

我有一個迷你網頁路線設置處理以下路徑:「重置密碼/:代碼」

match = window.location.hash.match(/^\#\/reset-password\/(.*)$/); 

哈希比賽總是返回null,我能做些什麼來得到令牌?我認爲令牌存儲在數據庫中,並且在設置重置密碼令牌之前不應該對數據庫進行流星驗證

accounts-urls包定義幫助程序,它在前面查找「#」,我的url永遠不會因某種原因而被捕。

Accounts.urls.resetPassword = function (token) { 
    return Meteor.absoluteUrl('#/reset-password/' + token); 
}; 
+0

我不確定要理解你想要做什麼......令牌通過郵件發送給用戶,爲了得到它,你只需要從url中讀取它散列(這是你提供的代碼的作用)。 – mquandalle

+0

您的第一個陳述已經在爲我工作。部署令牌發送給用戶的電子郵件,並在本地運行時作爲輸出發送到終端。問題出在瀏覽到提供的url後,匹配爲空,因爲不是期待#reset-password/code'#'丟失 – Warz

+0

在服務器上還是在客戶端上? – mquandalle

回答

2

對於任何想知道的人。這是由流星路由器或迷你路由器隕石包附帶的html5history API軟件包引起的。我刪除了它們,令牌不再爲空