Se, depois de registrar seu app no App Check, você quiser executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como um simulador durante o desenvolvimento ou a partir de um ambiente de integração contínua (CI), você pode crie uma compilação de depuração de seu aplicativo que use o provedor de depuração do App Check em vez de um provedor de atestado real.
Use o provedor de depuração em um simulador
Para usar o provedor de depuração ao executar seu aplicativo em um simulador de forma interativa (durante o desenvolvimento, por exemplo), faça o seguinte:
Em sua compilação de depuração, antes de usar qualquer serviço de back-end do Firebase, crie e defina a fábrica do provedor de depuração do App Check:
Rápido
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];
Habilite o registro de depuração em seu projeto Xcode (v11.0 ou mais recente):
- Abra Produto > Esquema > Editar esquema .
- Selecione Executar no menu à esquerda e selecione a guia Argumentos .
- Na seção Arguments Passed on Launch , adicione
-FIRDebugEnabled
.
Inicie o aplicativo. Um token de depuração local será registrado quando o SDK tentar enviar uma solicitação ao back-end. Por exemplo:
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
Na seção App Check do Firebase console, escolha Manage debug tokens no menu flutuante do seu app. Em seguida, registre o token de depuração que você registrou na etapa anterior.
Depois de registrar o token, os serviços de back-end do Firebase o aceitarão como válido.
Como esse token permite acesso aos seus recursos do Firebase sem um dispositivo válido, é crucial mantê-lo privado. Não o confirme em um repositório público e, se um token registrado for comprometido, revogue-o imediatamente no console do Firebase.
Use o provedor de depuração em um ambiente de CI
Para usar o provedor de depuração em um ambiente de integração contínua (CI), faça o seguinte:
Na seção App Check do Firebase console, escolha Manage debug tokens no menu flutuante do seu app. Em seguida, crie um novo token de depuração. Você precisará do token na próxima etapa.
Como esse token permite acesso aos seus recursos do Firebase sem um dispositivo válido, é crucial mantê-lo privado. Não o confirme em um repositório público e, se um token registrado for comprometido, revogue-o imediatamente no console do Firebase.
Adicione o token de depuração que você acabou de criar ao armazenamento de chaves seguro do seu sistema CI (por exemplo, segredos criptografados do GitHub Actions ou variáveis criptografadas do Travis CI).
Se necessário, configure seu sistema de CI para disponibilizar seu token de depuração no ambiente de CI como uma variável de ambiente. Nomeie a variável como
APP_CHECK_DEBUG_TOKEN_FROM_CI
.No Xcode, adicione uma variável de ambiente ao seu esquema de teste com o nome
FIRAAppCheckDebugToken
e algo como$(APP_CHECK_DEBUG_TOKEN)
como valor.Configure seu script de teste de CI para transmitir o token de depuração como uma variável de ambiente. Por exemplo:
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
Em sua compilação de depuração, antes de usar qualquer serviço de back-end do Firebase, crie e defina a fábrica do provedor de depuração do App Check:
Rápido
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];
Quando seu aplicativo é executado em um ambiente CI, os serviços de back-end do Firebase aceitam o token enviado como válido.