I am using meteor along with the accounts-password package. I\'m rolling my own login and password changing/resetting UI and want to know...
How can I custom
Late to the party ...
Instead of changing the whole text, you can just change the url with:
Meteor.startup(function() {
Accounts.urls.resetPassword = function(token) {
return Meteor.absoluteUrl('reset-password/' + token);
};
});
See the section on email templates in the Meteor docs:
resetPassword: An Object with two fields:
- resetPassword.subject: A Function that takes a user object and returns a String for the subject line of a reset password email.
- resetPassword.text: A Function that takes a user object and a url, and returns the body text for a reset password email.
You can customise which url is passed to the reset password email method:
Accounts.resetPassword.text = function(user, url) {
return "Click this link to reset your password: /reset-password/" + myId;
}
It has changed a little bit:
You have to use
Accounts.emailTemplates.resetPassword.text
For the url you can simply replace the hashbang instead of parsing the token from the url. As an example (in 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}`;
}
);