2022년 10월 18일에 오프라인과 온라인으로 진행될 Firebase Summit에 참여하세요. Firebase로 앱을 빠르게 개발하고 안심하고 앱을 출시하며 손쉽게 확장하는 방법을 알아보세요. 지금 등록하기

사용자 지정 백엔드에서 App Check 토큰 확인

App Check를 사용하여 자체 호스팅 백엔드와 같은 앱의 비 Firebase 리소스를 보호할 수 있습니다. 이렇게 하려면 다음 두 가지를 모두 수행해야 합니다.

  • iOS+ , Androidweb 페이지에 설명된 대로 백엔드에 대한 각 요청과 함께 App Check 토큰을 보내도록 앱 클라이언트를 수정하십시오.
  • 이 페이지에 설명된 대로 모든 요청에 ​​유효한 App Check 토큰을 요구하도록 백엔드를 수정하십시오.

시작하기 전에

Node.js Admin SDK 를 아직 설치하지 않았다면 설치하세요.

토큰 확인

백엔드에서 App Check 토큰을 확인하려면 다음을 수행하는 로직을 API 엔드포인트에 추가하십시오.

  • 각 요청에 App Check 토큰이 포함되어 있는지 확인합니다.

  • Admin SDK의 appCheck().verifyToken() 메서드를 사용하여 앱 확인 토큰을 확인합니다.

    확인이 성공하면 verifyToken() 이 디코딩된 App Check 토큰을 반환합니다. 인증에 성공하면 Firebase 프로젝트에 속한 앱에서 토큰이 생성되었음을 나타냅니다.

두 검사 중 하나에 실패한 모든 요청을 거부합니다. 예를 들어 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.
});