앱 체크에 앱을 등록한 후 앱 체크가 일반적으로 유효한 것으로 분류하지 않는 환경의 앱 또는 (예: 개발 중 시뮬레이터 또는 지속적 통합(CI)) gcloud 명령어를 사용하여 앱의 디버그 빌드를 App Attest 대신 앱 체크 디버그 제공자
<ph type="x-smartling-placeholder">시뮬레이터에서 디버그 제공자 사용
시뮬레이터에서 대화형으로 앱을 실행하는 동안 디버그 제공자 사용 (예: 개발 중에는) 다음을 실행하세요.
사용자 인증 정보에서 프로젝트의 iOS API 키를 조회합니다. API 및 서비스 섹션으로 이동합니다.
디버그 빌드에서 디버그 제공자를 사용하도록 앱 체크를 구성합니다. 사용자는 이전 단계에서 가져온 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
앱을 실행합니다. 로컬 디버그 토큰은 다음 경우에 Xcode 콘솔에 로깅됩니다. SDK가 백엔드로 요청을 보내려고 합니다 예를 들면 다음과 같습니다.
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
앱 체크 섹션에서 Firebase Console의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 이전 실습에서 로깅한 디버그 토큰을 등록합니다. 단계를 거칩니다.
토큰을 등록하면 Google의 OAuth 2.0 엔드포인트가 토큰을 사용할 수 있습니다
이 토큰을 사용하면 사용자 인증 정보 없이도 인증 엔드포인트에 반드시 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 바로 Firebase 콘솔에서 바로 찾을 수 있습니다.
CI 환경에서 디버그 제공자 사용
지속적 통합 (CI) 환경에서 디버그 제공자를 사용하려면 다음 안내를 따르세요. 있습니다.
앱 체크 섹션에서 Firebase Console의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 새 디버그 토큰을 만듭니다. 필요한 경우 다음 단계로 이동합니다.
이 토큰은 인증 엔드포인트에 대한 액세스를 허용하므로 액세스할 수 없다면 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 바로 Firebase 콘솔에서 바로 찾을 수 있습니다.
방금 만든 디버그 토큰을 CI 시스템의 보안 키 저장소에 추가합니다. (예: GitHub Actions의 암호화된 보안 비밀 또는 Travis CI의 암호화된 변수)가 포함됩니다.
필요한 경우 디버그 토큰을 사용할 수 있도록 CI 시스템을 구성합니다. 환경 변수로 사용할 수 있습니다 변수 이름 지정
APP_CHECK_DEBUG_TOKEN_FROM_CI
와 같은 형태입니다.Xcode에서 테스트 스키마에 다음과 같은 환경 변수를 추가합니다.
FIRAAppCheckDebugToken
및 다음과 같은$(APP_CHECK_DEBUG_TOKEN)
형식 반환합니다.디버그 토큰을 환경으로 전달하도록 CI 테스트 스크립트 구성 변수의 값을 반환합니다. 예를 들면 다음과 같습니다.
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
사용자 인증 정보에서 프로젝트의 iOS API 키를 조회합니다. API 및 서비스 섹션으로 이동합니다.
디버그 빌드에서 디버그 제공자를 사용하도록 앱 체크를 구성합니다. 사용자는 이전 단계에서 가져온 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 엔드포인트는 전송하는 토큰입니다.