我在前端使用next.js,有一个“api”文件夹,为我们在next.js服务器端提供了一个node.js环境。
我们可以在前端和后端(云函数)之间拥有一些代理“api”。
结果:得到 CORS
Next.js api代理代码:
import { getFunctions, httpsCallable } from 'firebase/functions';
import { firebase } from '@/lib';
export async function deleteUserAccount(userId: string) {
if (!userId) {
console.error('deleteUserAccount: no userId provided');
return;
}
try {
const functions = getFunctions(firebase, 'us-central1');
const deleteUserData = httpsCallable(functions, 'deleteUserData');
const { data }: any = await deleteUserData({
userId,
});
console.log('deleteUserAccount', data);
} catch (error) {
console.error('deleteUserAccount error', error);
}
}
这是云函数实现:
const admin = require('firebase-admin');
const functions = require('firebase-functions');
exports.deleteUserData = functions.https.onRequest(async (req, res) => {
const uid = request.auth.uid;
try {
await admin.auth().deleteUser(uid);
return { message: 'Data deleted successfully!' };
} catch (error) {
console.error('Error deleting user data', error);
return Promise.reject(error);
}
});
如何安全地解决CORS?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Firebase 存储库在两个示例中解释了 cors 的使用。您的问题已在此处得到解答 只需确保您使用此格式即可
{ origin:"https://your-site.name" }