App Check에 앱을 등록한 후 App Check가 일반적으로 유효한 것으로 분류하지 않는 환경의 앱 예를 들어 개발 중 시뮬레이터나 기기, 또는 연속된 통합 (CI) 환경에서 완전 관리형 SDK를 사용하여 실제 증명 제공자 대신 App Check 디버그 제공자를 사용합니다.
개발 시 디버그 제공자 사용
앱을 대화형으로 실행하는 동안(예: 개발 중에) 디버그 제공자를 사용하려면 다음을 수행합니다.
Firebase 백엔드 서비스를 사용하기 전에 디버그 빌드에서 App Check 디버그 제공자 팩토리를 설정합니다.
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
Xcode 프로젝트(v11.0 이상)에서 디버그 로깅을 사용 설정합니다.
- Product(제품) > Scheme(스키마) > Edit scheme(스키마 수정)을 엽니다.
- 왼쪽 메뉴에서 Run(실행)을 선택한 다음 Arguments(인수) 탭을 선택합니다.
- Arguments Passed on Launch(실행 시 인수 전달) 섹션에
-FIRDebugEnabled
를 추가합니다.
앱을 실행합니다. SDK가 백엔드로 요청을 보내려고 하면 로컬 디버그 토큰이 로깅됩니다. 예를 들면 다음과 같습니다.
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
App Check 섹션에서 Firebase 콘솔의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 이전 단계에서 로깅한 디버그 토큰을 등록합니다.
토큰을 등록하면 Firebase 백엔드 서비스에서 토큰을 유효한 것으로 간주합니다.
이 토큰은 유효한 기기 없이도 Firebase 리소스에 액세스를 허용하므로 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 확인할 수 있습니다.
CI 환경에서 디버그 제공자 사용
지속적 통합(CI) 환경에서 디버그 제공자를 사용하려면 다음 단계를 따르세요.
App Check 섹션에서 Firebase 콘솔의 앱 메뉴에서 디버그 토큰 관리를 선택합니다. 더보기 메뉴 그런 다음 새 디버그 토큰을 만듭니다. 다음 단계에서 토큰이 필요합니다.
이 토큰은 유효한 기기 없이도 Firebase 리소스에 액세스를 허용하므로 비공개로 유지하는 것이 중요합니다. GCP에 커밋하지 마세요 등록된 토큰이 손상된 경우 Firebase 콘솔에서 즉시 확인할 수 있습니다.
방금 만든 디버그 토큰을 CI 시스템의 보안 키 저장소에 추가합니다(예: GitHub 작업의 암호화된 보안 비밀 또는 Travis CI의 암호화된 변수).
필요한 경우 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)
Firebase 백엔드 서비스를 사용하기 전에 디버그 빌드에서 App Check 디버그 제공자 팩토리를 설정합니다.
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
앱이 CI 환경에서 실행되면 Firebase 백엔드 서비스는 전송된 토큰을 유효한 것으로 수락합니다.