有没有办法从我的服务器发送电子邮件验证邮件?
这是在客户端上完成的:
authData.sendEmailVerification().then(function() {
有没有办法在服务器上执行此操作?
答案 0 :(得分:4)
firebaser here
令我惊讶的是,目前没有选项可以从Admin SDK中发送验证邮件。我建议你file a feature request。
您可以在Admin SDK中执行的操作是update a user profile to mark their email as verified。这样,您可以根据需要控制整个验证流程,最后调用router.get('/editPage/:id',function(req,res){
var db = req.db;
var results = [];
var collection = db.get('usercollection');
var pid = req.params.id;
collection.find({"ObjectId": pid},function(e,docs){
results.push(docs);
res.render('editUsers', {"detail": results});
});
});
(在Node.js上,查看其他支持语言的链接)。
答案 1 :(得分:2)
我刚刚遇到了与您相同的问题。具有使用用户的电子邮件地址生成验证链接的功能。
我在一系列电子邮件地址上使用了此功能,然后将结果加载到我的邮件自动化API中以发送邮件。奇怪的是没有记录此功能:
admin.auth().generateEmailVerificationLink([EMAIL_ADDRESS])
答案 2 :(得分:0)
您可以使用:
axios.post('https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]',
{ requestType: 'VERIFY_EMAIL', idToken: response.data.idToken }
)
https://firebase.google.com/docs/reference/rest/auth#section-send-email-verification