Pengendalian CORS selamat menggunakan next.js dan fungsi awan
P粉106301763
P粉106301763 2024-03-29 11:35:12
0
1
431

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).

  1. Dari bahagian hadapan, saya menghantar permintaan kepada api seterusnya.js
  2. Hantar permintaan dari seterusnya/api ke fungsi awan
  3. Dapatkan respons di bahagian hadapan dan kembalikan

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?

P粉106301763
P粉106301763

membalas semua(1)
P粉523335026

Repositori Firebase menerangkan penggunaan kor dalam dua contoh. Soalan anda telah dijawab di sini Pastikan anda menggunakan format ini

{
origin:"https://your-site.name"
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan