0

signInmeteor useraccounts パッケージを使用して、フォーム (という名前) にカスタム フィールドを追加しtokenて、2fa 認証を有効にしたいと考えています。

残念ながら、私が取り組んだ限りでは、フォームでAccountTemplates.addFieldのみ作業します。signUp

ヒントはありますか?

4

2 に答える 2

2

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 */);
  },
});

メソッドを使用する利点は、サーバー側でトークンがハッキングされていないことを確認できることです。

于 2016-09-29T09:31:16.410 に答える
1

私がなんとか実装した答えは、Meteor APIを直接使用して、別のアプローチでパターンを変更することでした:

  1. ユーザー コレクションに特別なフィールドを設定します。tokenverified: false
  2. このフィールドを false に設定するための追加Meteor.onLogin(ログインまたは手動でページを更新するたびに呼び出される) とコールバックMeteor.onLogout
  3. verify2FAトークンを扱うテンプレートを作成して設定するtokenverified: true
  4. ensure2FAこのトークンをチェックしてverify2FAテンプレートにリダイレクトするIron-router プラグインを作成します。
于 2016-09-30T14:44:17.130 に答える