2016-09-29 59 views
0

使用流星useraccounts包上添加自定義字段,我想在signIn形式(命名爲token)添加自定義字段,使2FA身份驗證。登入形式

不幸在AccountTemplates.addField只工作與signUp形式,據我工作。

任何提示?

回答

1

我設法實現答案是用不同的方法來改變模式,直接使用流星API:

  1. 設置在用戶採集一個特殊的領域:tokenverified: false
  2. 添加Meteor.onLogin(稱爲每次登錄或手動刷新頁面)和Meteor.onLogout回調將該字段設置爲假
  3. 創建模板verify2FA處理令牌,並設置tokenverified: true
  4. 創建一個鐵路路由器插件ensure2FA,它將檢查此令牌並重定向到verify2FA模板。
2

賬目包有一個Accounts.onLogin功能,您可以使用調用方法和更新用戶帳戶。

Accounts.onLogin(function(user) { 
    Meteor.call('setToken', user) 
}) 

然後

Meteor.methods({ 
    setToken: function(user) { 
    // Do some clever check 
    Meteor.users.update(/* Set your token */); 
    }, 
}); 

使用方法的好處是,你可以做一些服務器端的檢查,以確保您的令牌沒有被黑客攻擊。

+0

是成功地使用這種替代。還需要: - 一些自定義路線上 一些網頁執行2FA - 檢測是否有其他客戶端登錄,否則,您可以登陸並設置令牌,並讓其他只用密碼登錄爲好。 – fixitagain

+0

對不起,我想我錯過了一些東西。你的路由和多重日誌記錄有什麼問題?你是在談論兩個不同的客戶試圖登錄或從兩個不同的頁面相同的一個? –

+0

我設法使整個事情工作。將詳細回答 – fixitagain