Подтвердить что ты не робот

Как изменить URL-адрес пароля reset в метеоре?

Я использую meteor вместе с account-password. Я запускаю свой собственный логин и пароль, меняя/перезаписывая пользовательский интерфейс и хочу знать...

Как настроить пароль reset в письме пароля reset, отправленном в результате Accounts.resetPassword?

В настоящее время он выглядит так: /#/reset-password/<id>'. Так как я использую

4b9b3361

Ответ 1

См. раздел в шаблонах электронной почты в документах Meteor:

resetPassword: объект с двумя полями:

  • resetPassword.subject: функция, которая принимает объект пользователя и возвращает строку для строки темы reset пароля.
  • resetPassword.text: функция, которая принимает объект пользователя и url, и возвращает основной текст для электронной почты reset.

Вы можете настроить, какой URL-адрес передается методу электронной почты reset:

Accounts.resetPassword.text = function(user, url) {
  return "Click this link to reset your password: /reset-password/" + myId;
}

Ответ 2

Поздно к вечеринке...

Вместо изменения всего текста вы можете просто изменить URL-адрес:

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

Ответ 3

Это немного изменилось:

Вы должны использовать

Accounts.emailTemplates.resetPassword.text

Для URL вы можете просто заменить hashbang вместо того, чтобы анализировать токен из URL. Как пример (в 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}';
   }
);