Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Zweryfikuj tokeny App Check z niestandardowego zaplecza

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Za pomocą Sprawdzania aplikacji możesz chronić zasoby aplikacji inne niż Firebase, takie jak backendy z własnym hostingiem. Aby to zrobić, musisz wykonać obie następujące czynności:

  • Zmodyfikuj klienta aplikacji, aby wysyłał token Sprawdzania aplikacji wraz z każdym żądaniem do zaplecza, zgodnie z opisem na stronach dla systemów iOS+ , Android i web .
  • Zmodyfikuj swój backend, tak aby wymagał prawidłowego tokenu App Check przy każdym żądaniu, zgodnie z opisem na tej stronie.

Zanim zaczniesz

Jeśli nie zainstalowałeś jeszcze pakietu Node.js Admin SDK , zrób to.

Zweryfikuj tokeny

Aby zweryfikować tokeny App Check w swoim zapleczu, dodaj logikę do punktów końcowych interfejsu API, która wykonuje następujące czynności:

  • Sprawdź, czy każde żądanie zawiera token sprawdzania aplikacji.

  • Sprawdź token sprawdzania aplikacji za pomocą metody appCheck().verifyToken() Admin SDK.

    Jeśli weryfikacja się powiedzie, verifyToken() zwraca zdekodowany token App Check. Pomyślna weryfikacja wskazuje, że token pochodzi z aplikacji należącej do Twojego projektu Firebase.

Odrzuć każde żądanie, które nie powiedzie się. Na przykład przy użyciu oprogramowania pośredniczącego 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.
});