Pengguna mengesahkan di sisi pelanggan menggunakan firebase sdk.
Di bahagian pelayan, terdapat nodejs dan sdk juga dipasang. Kod pelayan ini berfungsi kerana saya boleh menggunakan pangkalan data:
var firebase = require("firebase/compat/app"); require("firebase/compat/database"); require("firebase/compat/auth"); const firebaseConfig = { apiKey: "Axxx4", authDomain: "movtxxxom", projectId: "moxxx2", storageBucket: "movxxom", messagingSenderId: "14xx9", appId: "1:1xxxea13c", measurementId: "GxxFL", databaseURL: "httpxxx/", }; // Initialize Firebase firebase.initializeApp(firebaseConfig);
Kod ini berfungsi.
Ini adalah laluan (fastify) di mana saya ingin mendapatkan maklumat pengguna:
fastify.get("/login-success", async (request, reply) => { // Return View const user = firebase.auth().currentUser; console.log(user); return reply.view("/templates/login-success.ejs", { text: "Log in success", }); });
Pembolehubah pengguna sentiasa kosong.
Apakah cara yang betul untuk menangani masalah ini?
Bagaimana untuk menangani situasi ini secara lebih umum?
aannabeengineer betul. Ini adalah bukti konsep (kod sisi pelayan mesti dilaraskan selepas pengesahan pengguna dan mendapatkan maklumat).
Pelayan:
Halaman hadapan:
Ya, saya kini menggunakan pentadbir firebase di bahagian pelayan ("firebase" ialah tika pada pelayan).
Untuk mengesahkan bahagian pelayan pengguna, anda perlu menjana klien JWT dan kemudian mengesahkannya pada pelayan. Mula-mula, jana IdToken p> di sisi pelanggan
Seterusnya, hantar token dalam permintaan ke pelayan. Anda boleh menggunakan Pengesahan Pembawa untuk ini (dihantar sebagai pengepala HTTP. Keizinan: Pembawa)
Pada pelayan, anda boleh menggunakan mana-mana perpustakaan JWT untuk mengesahkan token. Jika anda ingin menggunakan SDK Firebase, anda mesti menggunakan SDK yang betul. "firebase/compat/auth" adalah untuk pelanggan. Anda memerlukan SDK Pengurusan Firebase, Pautan berikut menerangkan cara menggunakan SDK Token ID Pengesahan Pentadbir Firebase