【发布时间】:2020-04-03 12:26:51
【问题描述】:
我在我的网站“www.website.com/auth/**”上成功托管了 node.js/firebase 功能。
该代码是用于重置密码/电子邮件验证等的自定义电子邮件处理程序。
目前我只是想查看 oobCode 是否有效并将代码中给出的电子邮件返回给用户只是为了进行实验,在我的函数日志中我不断收到错误:
auth.verifyPasswordResetCode is not a function at resetPassword (/srv/index.js:51:8)
这是托管在我的 firebase 项目上的服务器代码:
const express = require('express');
const admin = require('firebase-admin');
const functions = require('firebase-functions')
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: "https://clipify-1b5ce.firebaseio.com"
});
const auth = admin.auth();
const app = express();
app.get('/', (req, res) => {
res.send('Website in progress...');
});
app.get('/auth/**', (request, response) => {
// Get the action to complete.
var mode = request.query.mode;
// Get the one time code to authenticate.
var actionCode = request.query.oobCode;
// (Optional) Get the contine URL .
var continueURL = request.query.continueURL;
// (Optional) Get the language code.
var lang = request.query.lang;
// What mode is it?
switch (mode){
case 'resetPassword':
// Reset password - display UI and init backend code.
response.send(resetPassword(actionCode, continueURL, lang));
break;
case 'recoverEmail':
// Recover email - display UI and init backend code.
//recoverEmail(auth, actionCode, lang);
break;
case 'verifyEmail':
// Verify email - display UI and init backend code.
//verifyEmail(auth, actionCode, continueURL, lang);
break;
default:
//response.send('Error')
response.send("Internal server error - no API token.")
}
});
function resetPassword(actionCode, continueURL, lang){
auth.verifyPasswordResetCode(actionCode).then(function(email) {
var accountEmail = email;
return accountEmail
}).catch(function(error){
return error
});
}
exports.app = functions.https.onRequest(app);
【问题讨论】:
标签: node.js firebase firebase-authentication google-cloud-functions