基本上您可以更改用户密码,然后手动将其通过电子邮件发送给他。所以假设他们注册到您的应用程序时,它会按以下顺序排列:
username---
Username
Password
Email
UID
所以当用户点击 resetPassword 时,你必须生成一个随机密码,然后给他发送一封电子邮件......所以首先让我们处理发送电子邮件:
Mandrill的第一注册
1. register for Mandrill to get an API key
2. load jQuery
3. use $.ajax to send an email
这就是它的布局方式:
function randomPassword(){
var length = 8,
charset = "abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
retVal = "";
for (var i = 0, n = charset.length; i < length; ++i) {
retVal += charset.charAt(Math.floor(Math.random() * n));
}
return retVal;
}
不要忘记将其添加到您的脚本标签中:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
这样你就可以发送电子邮件了:
还有:
$.ajax({
type: “POST”,
url: “https://mandrillapp.com/api/1.0/messages/send.json”,
data: {
‘key’: ‘YOUR API KEY HERE’,
‘message’: {
‘from_email’: ‘YOUR@EMAIL.HERE’,
‘to’: [
{
‘email’: ‘RECIPIENT_NO_1@EMAIL.HERE’,
‘name’: ‘RECIPIENT NAME (OPTIONAL)’,
‘type’: ‘to’
},
{
‘email’: ‘RECIPIENT_NO_2@EMAIL.HERE’,
‘name’: ‘ANOTHER RECIPIENT NAME (OPTIONAL)’,
‘type’: ‘to’
}
],
‘autotext’: ‘true’,
‘subject’: ‘Password generated’,
‘html’: ‘This is your Newly generated password’ + randomPassword
}
}
}).done(function(response) {
console.log(response);
});
关于发送电子邮件部分的更多信息here
如果您尝试仅使用 firebase 来执行此操作,那么正如 frank 所说,这是不可能的:How to extend lifetime of password, generated by ref.resetPassword()?