25

accounts-passwordパッケージと一緒にmeteorを使用しています。独自のログインとパスワードの変更/リセット UI を展開していて、知りたい...

の結果として送信されるパスワード リセット メールのパスワード リセット リンクをカスタマイズするにはどうすればよいAccounts.resetPasswordですか?

現在、次のような形式になっています/#/reset-password/<id>'メテオルーターを使っている'/reset-password/<id>'ので、ルートでキャッチできるようにフォームで送りたいと思います'/reset-password/:id'

4

3 に答える 3

56

パーティーに遅れて...

テキスト全体を変更する代わりに、次のように URL を変更できます。

Meteor.startup(function() {
 Accounts.urls.resetPassword = function(token) {
    return Meteor.absoluteUrl('reset-password/' + token);
  };
});
于 2015-02-20T05:11:21.903 に答える
17

少し変更されました:

使用する必要があります

Accounts.emailTemplates.resetPassword.text

URL については、URL からトークンを解析する代わりに、単純に hashbang を置き換えることができます。例として (coffeescript で):

Meteor.startup(() ->
  Accounts.emailTemplates.resetPassword.text = (user, url) ->
     url = url.replace('#/', '')
     return "Click this link to reset your password: " + url
)

ES6

Meteor.startup(() =>
  Accounts.emailTemplates.resetPassword.text = function(user, url) {
     url = url.replace('#/', '');
     return `Click this link to reset your password: ${url}`;
   }
);
于 2013-07-20T11:23:53.433 に答える
7

Meteor docs の電子メール テンプレートに関するセクションを参照してください。

resetPassword: 2 つのフィールドを持つオブジェクト:

  • resetPassword.subject: ユーザー オブジェクトを受け取り、パスワード リセット メールの件名の文字列を返す関数。
  • resetPassword.text: ユーザー オブジェクトとurlを受け取り、パスワード リセット メールの本文テキストを返す関数。

パスワードのリセット メール メソッドに渡される URL をカスタマイズできます。

Accounts.resetPassword.text = function(user, url) {
  return "Click this link to reset your password: /reset-password/" + myId;
}
于 2013-01-02T23:11:08.773 に答える