使用流星用户帐户包,我想在signIn
表单(命名token
)中添加一个自定义字段以启用 2fa 身份验证。
不幸的是,就我所从事的工作而言,AccountTemplates.addField
只能使用signUp
形式。
有什么提示吗?
使用流星用户帐户包,我想在signIn
表单(命名token
)中添加一个自定义字段以启用 2fa 身份验证。
不幸的是,就我所从事的工作而言,AccountTemplates.addField
只能使用signUp
形式。
有什么提示吗?
accounts 包有一个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 */);
},
});
使用方法的优点是您可以进行一些服务器端检查以确保您的令牌没有被黑客入侵。
我设法实现的答案是用不同的方法改变模式,直接使用 Meteor API:
tokenverified: false
Meteor.onLogin
(每次登录或手动刷新页面时调用)和Meteor.onLogout
回调以将此字段设置为 falseverify2FA
处理token并设置tokenverified: true
ensure2FA
将检查此令牌并重定向到verify2FA
模板的 Iron-router 插件。