웹 앱에서 디버그 제공자와 함께 앱 체크 사용

App Check에 앱을 등록한 후 App Check가 일반적으로 유효한 것으로 분류하지 않는 환경의 앱 지속적 통합 (CI) 방식 등을 사용할 수 있습니다. gcloud 명령어를 사용하여 앱의 디버그 빌드를 실제 증명 제공자가 아닌 App Check 디버그 제공자입니다.

localhost에서 디버그 제공자 사용

localhost에서 앱을 실행하는 동안(예: 개발 중에) 디버그 제공자를 사용하려면 다음을 수행합니다.

  1. 디버그 빌드에서 다음과 같이 디버그 모드를 사용 설정합니다. self.FIREBASE_APPCHECK_DEBUG_TOKEN에서 true로 초기화 App Check입니다. 예를 들면 다음과 같습니다.

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. 로컬에서 웹 앱을 방문하여 브라우저의 개발자 도구를 엽니다. 디버그 콘솔에 디버그 토큰이 표시됩니다.

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. App Check 섹션에서 Firebase 콘솔의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 이전 단계에서 로깅한 디버그 토큰을 등록합니다.

    디버그 토큰 관리 메뉴 항목 스크린샷

토큰을 등록하면 Firebase 백엔드 서비스에서 토큰을 유효한 것으로 간주합니다.

이 토큰은 유효한 기기 없이도 Firebase 리소스에 액세스를 허용하므로 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 확인할 수 있습니다.

이 토큰은 브라우저에 로컬로 저장되며 동일한 머신의 동일한 브라우저에서 앱을 사용할 때마다 사용됩니다. 다른 브라우저 또는 다른 머신에서 토큰을 사용하려면 self.FIREBASE_APPCHECK_DEBUG_TOKENtrue 대신 토큰 문자열로 설정합니다.

CI 환경에서 디버그 제공자 사용

지속적 통합(CI) 환경에서 디버그 제공자를 사용하려면 다음 단계를 따르세요.

  1. App Check 섹션에서 Firebase 콘솔의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 새 디버그 토큰을 만듭니다. 다음 단계에서 토큰이 필요합니다.

    이 토큰은 유효한 기기 없이도 Firebase 리소스에 액세스를 허용하므로 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 확인할 수 있습니다.

    디버그 토큰 관리 메뉴 항목 스크린샷

  2. 방금 만든 디버그 토큰을 CI 시스템의 보안 키 저장소에 추가합니다(예: GitHub 작업의 암호화된 보안 비밀 또는 Travis CI의 암호화된 변수).

  3. 필요한 경우 CI 환경 내에서 디버그 토큰을 환경 변수로 사용하도록 CI 시스템을 구성합니다. 변수의 이름을 APP_CHECK_DEBUG_TOKEN_FROM_CI와 같이 지정합니다.

  4. 디버그 빌드에서 다음과 같이 디버그 모드를 사용 설정합니다. self.FIREBASE_APPCHECK_DEBUG_TOKEN를 디버그 토큰의 값으로 설정 환경 변수를 가져옵니다 App Check. 예를 들면 다음과 같습니다.

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

앱이 CI 환경에서 실행되면 Firebase 백엔드 서비스는 전송된 토큰을 유효한 것으로 수락합니다.