Saya menggunakan next.js di bahagian hadapan dan mempunyai folder "api" yang memberikan kami persekitaran node.js di sebelah pelayan next.js.
Kita boleh mempunyai beberapa "api" proksi antara bahagian hadapan dan hujung belakang (fungsi awan).
Keputusan: Mendapat CORS
Kod proksi api next.js:
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); } }
Ini ialah pelaksanaan fungsi awan:
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); } });
Bagaimana untuk menyelesaikan CORS dengan selamat?
Repositori Firebase menerangkan penggunaan kor dalam dua contoh. Soalan anda telah dijawab di sini Pastikan anda menggunakan format ini