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

Apple 플랫폼에서 디버그 공급자와 함께 App Check 사용

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

App Check에 앱을 등록한 후 개발 중 시뮬레이터와 같이 App Check가 일반적으로 유효한 것으로 분류하지 않는 환경에서 또는 지속적 통합(CI) 환경에서 앱을 실행하려는 경우 다음을 수행할 수 있습니다. 실제 증명 공급자 대신 App Check 디버그 공급자를 사용하는 앱의 디버그 빌드를 만듭니다.

시뮬레이터에서 디버그 공급자 사용

시뮬레이터에서 대화식으로 앱을 실행하는 동안(예: 개발 중) 디버그 공급자를 사용하려면 다음을 수행합니다.

  1. 디버그 빌드에서 Firebase 백엔드 서비스를 사용하기 전에 App Check 디버그 공급자 팩토리를 생성하고 설정합니다.

    빠른

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    오브젝티브-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Xcode 프로젝트(v11.0 이상)에서 디버그 로깅을 활성화합니다.

    1. 제품 > 구성표 > 구성표 편집을 엽니다.
    2. 왼쪽 메뉴에서 실행 을 선택한 다음 인수 탭을 선택합니다.
    3. 실행 시 전달된 인수 섹션에서 -FIRDebugEnabled 를 추가하십시오.
  3. 앱을 실행합니다. SDK가 백엔드에 요청을 보내려고 할 때 로컬 디버그 토큰이 기록됩니다. 예를 들어:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase 콘솔의 앱 검사 섹션에 있는 앱의 오버플로 메뉴에서 디버그 토큰 관리 를 선택합니다. 그런 다음 이전 단계에서 로그인한 디버그 토큰을 등록합니다.

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

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

이 토큰을 사용하면 유효한 기기 없이 Firebase 리소스에 액세스할 수 있으므로 비공개로 유지하는 것이 중요합니다. 공개 저장소에 커밋하지 말고 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 취소하세요.

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

CI(지속적 통합) 환경에서 디버그 공급자를 사용하려면 다음을 수행합니다.

  1. Firebase 콘솔의 앱 검사 섹션에 있는 앱의 오버플로 메뉴에서 디버그 토큰 관리 를 선택합니다. 그런 다음 새 디버그 토큰을 만듭니다. 다음 단계에서 토큰이 필요합니다.

    이 토큰을 사용하면 유효한 기기 없이 Firebase 리소스에 액세스할 수 있으므로 비공개로 유지하는 것이 중요합니다. 공개 저장소에 커밋하지 말고 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 취소하세요.

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

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

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

  4. Xcode에서 FIRAAppCheckDebugToken 이라는 이름과 $(APP_CHECK_DEBUG_TOKEN) 과 같은 값을 사용하여 테스트 체계에 환경 변수를 추가합니다.

  5. 디버그 토큰을 환경 변수로 전달하도록 CI 테스트 스크립트를 구성합니다. 예를 들어:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. 디버그 빌드에서 Firebase 백엔드 서비스를 사용하기 전에 App Check 디버그 공급자 팩토리를 만들고 설정합니다.

    빠른

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    오브젝티브-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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