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

앱 체크에 앱을 등록한 후 앱 체크가 일반적으로 유효한 것으로 분류하지 않는 환경의 앱 또는 (예: 개발 중 시뮬레이터 또는 지속적 통합(CI)) gcloud 명령어를 사용하여 앱의 디버그 빌드를 App Attest 대신 앱 체크 디버그 제공자

<ph type="x-smartling-placeholder">

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

시뮬레이터에서 대화형으로 앱을 실행하는 동안 디버그 제공자 사용 (예: 개발 중에는) 다음을 실행하세요.

  1. 사용자 인증 정보에서 프로젝트의 iOS API 키를 조회합니다. API 및 서비스 섹션으로 이동합니다.

  2. 디버그 빌드에서 디버그 제공자를 사용하도록 앱 체크를 구성합니다. 사용자는 이전 단계에서 가져온 API 키를 지정해야 합니다.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. 앱을 실행합니다. 로컬 디버그 토큰은 다음 경우에 Xcode 콘솔에 로깅됩니다. SDK가 백엔드로 요청을 보내려고 합니다 예를 들면 다음과 같습니다.

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. 앱 체크 섹션에서 Firebase Console의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 이전 실습에서 로깅한 디버그 토큰을 등록합니다. 단계를 거칩니다.

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

토큰을 등록하면 Google의 OAuth 2.0 엔드포인트가 토큰을 사용할 수 있습니다

이 토큰을 사용하면 사용자 인증 정보 없이도 인증 엔드포인트에 반드시 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 바로 Firebase 콘솔에서 바로 찾을 수 있습니다.

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

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

  1. 앱 체크 섹션에서 Firebase Console의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 새 디버그 토큰을 만듭니다. 필요한 경우 다음 단계로 이동합니다.

    이 토큰은 인증 엔드포인트에 대한 액세스를 허용하므로 액세스할 수 없다면 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 바로 Firebase 콘솔에서 바로 찾을 수 있습니다.

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

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

  3. 필요한 경우 디버그 토큰을 사용할 수 있도록 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. 사용자 인증 정보에서 프로젝트의 iOS API 키를 조회합니다. API 및 서비스 섹션으로 이동합니다.

  7. 디버그 빌드에서 디버그 제공자를 사용하도록 앱 체크를 구성합니다. 사용자는 이전 단계에서 가져온 API 키를 지정해야 합니다.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

앱이 CI 환경에서 실행될 때 Google의 OAuth 2.0 엔드포인트는 전송하는 토큰입니다.