Anda dapat melindungi sumber daya non-Firebase aplikasi, seperti backend yang dihosting sendiri, dengan App Check. Untuk melakukannya, Anda perlu melakukan kedua hal berikut:
- Ubah klien aplikasi Anda untuk mengirim token App Check beserta setiap permintaan ke backend Anda, seperti yang dijelaskan pada halaman untuk iOS+ , Android , dan web .
- Ubah backend Anda untuk meminta token App Check yang valid dengan setiap permintaan, seperti yang dijelaskan di halaman ini.
Sebelum kamu memulai
Jika Anda belum menginstal Node.js Admin SDK , lakukanlah.
Verifikasi token
Untuk memverifikasi token App Check di backend Anda, tambahkan logika ke titik akhir API Anda yang melakukan hal berikut:
Pastikan setiap permintaan menyertakan token App Check.
Verifikasi token App Check menggunakan metode
appCheck().verifyToken()
Admin SDK.Jika verifikasi berhasil,
verifyToken()
mengembalikan token App Check yang didekodekan. Verifikasi yang berhasil menunjukkan bahwa token tersebut berasal dari aplikasi milik proyek Firebase Anda.
Tolak permintaan apa pun yang gagal dalam pemeriksaan. Misalnya, menggunakan middleware Express.js:
const express = require('express');
const app = express();
const firebaseAdmin = require('firebase-admin');
const firebaseApp = firebaseAdmin.initializeApp();
const appCheckVerification = async (req, res, next) => {
const appCheckToken = req.header('X-Firebase-AppCheck');
if (!appCheckToken) {
res.status(401);
return next('Unauthorized');
}
try {
const appCheckClaims = await firebaseAdmin.appCheck().verifyToken(appCheckToken);
// If verifyToken() succeeds, continue with the next middleware
// function in the stack.
return next();
} catch (err) {
res.status(401);
return next('Unauthorized');
}
}
app.get('/yourApiEndpoint', [appCheckVerification], (req, res) => {
// Handle request.
});