获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Comece a usar o App Check com App Attest em plataformas Apple

Esta página mostra como habilitar o App Check em um aplicativo da Apple, usando o provedor App Attest integrado. Ao ativar o App Check, você ajuda a garantir que apenas seu aplicativo possa acessar os recursos do Firebase do seu projeto. Veja uma Visão geral deste recurso.

O App Check usa o App Attest para verificar se as solicitações aos serviços do Firebase vêm do seu app autêntico. Atualmente, o App Check não usa o App Attest para analisar o risco de fraude .

Se você quiser usar o App Check com seu próprio provedor personalizado, consulte Implementar um provedor personalizado do App Check .

1. Configure seu projeto do Firebase

  1. Você precisará do Xcode 12.5+ para usar o App Attest.

  2. Adicione o Firebase ao seu projeto da Apple, caso ainda não tenha feito isso.

  3. Registre seus aplicativos para usar o App Check com o provedor App Attest na seção App Check do Firebase console.

    Normalmente, você precisa registrar todos os aplicativos do seu projeto porque, depois de ativar a aplicação de um produto Firebase, apenas os aplicativos registrados poderão acessar os recursos de back-end do produto.

  4. Opcional : nas configurações de registro do aplicativo, defina um tempo de vida (TTL) personalizado para os tokens do App Check emitidos pelo provedor. Você pode definir o TTL para qualquer valor entre 30 minutos e 7 dias. Ao alterar esse valor, esteja ciente das seguintes compensações:

    • Segurança: TTLs mais curtos fornecem segurança mais forte, pois reduzem a janela na qual um token vazado ou interceptado pode ser abusado por um invasor.
    • Desempenho: TTLs mais curtos significam que seu aplicativo realizará o atestado com mais frequência. Como o processo de atestado do aplicativo adiciona latência às solicitações de rede sempre que é executado, um TTL curto pode afetar o desempenho do seu aplicativo.
    • Cota e custo: TTLs mais curtos e reatestação frequente esgotam sua cota mais rapidamente e, para serviços pagos, podem custar mais. Consulte Cotas e limites .

    O TTL padrão de 1 hora é razoável para a maioria dos aplicativos. Observe que a biblioteca App Check atualiza os tokens em aproximadamente metade da duração do TTL.

2. Adicione a biblioteca App Check ao seu aplicativo

  1. Adicione a dependência do App Check ao Podfile do seu projeto:

    pod 'FirebaseAppCheck'

    Ou, alternativamente, você pode usar o Swift Package Manager .

    Verifique se você também está usando a versão mais recente de qualquer outro SDK do Firebase do qual você dependa.

  2. Execute a pod install e abra o arquivo .xcworkspace criado.

  3. No Xcode, adicione o recurso App Attest ao seu aplicativo.

  4. No arquivo .entitlements do seu projeto, defina o ambiente App Attest para production .

3. Inicialize o App Check

Você precisará inicializar o App Check antes de usar qualquer outro SDK do Firebase.

Primeiro, escreva uma implementação de AppCheckProviderFactory . As especificidades de sua implementação dependerão do seu caso de uso.

Por exemplo, se você só tem usuários no iOS 14 e posterior, você pode simplesmente sempre criar objetos AppAttestProvider :

Rápido

Observação: este produto Firebase não está disponível em destinos watchOS.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

Objetivo-C

Observação: este produto Firebase não está disponível em destinos watchOS.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  return [[FIRAppAttestProvider alloc] initWithApp:app];
}

@end

Ou você pode criar objetos AppAttestProvider no iOS 14 e posterior e voltar para DeviceCheckProvider em versões anteriores:

Rápido

Observação: este produto Firebase não está disponível em destinos watchOS.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

Objetivo-C

Observação: este produto Firebase não está disponível em destinos watchOS.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

Depois de implementar uma classe AppCheckProviderFactory , configure o App Check para usá-la:

Rápido

Observação: este produto Firebase não está disponível em destinos watchOS.

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

Objetivo-C

Observação: este produto Firebase não está disponível em destinos watchOS.

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

Próximos passos

Depois que a biblioteca do App Check estiver instalada em seu aplicativo, comece a distribuir o aplicativo atualizado para seus usuários.

O aplicativo cliente atualizado começará a enviar tokens do App Check junto com todas as solicitações feitas ao Firebase, mas os produtos Firebase não exigirão que os tokens sejam válidos até que você ative a aplicação na seção App Check do Firebase console.

Monitore as métricas e ative a aplicação

Antes de habilitar a imposição, no entanto, você deve certificar-se de que isso não atrapalhe seus usuários legítimos existentes. Por outro lado, se você perceber o uso suspeito dos recursos do seu aplicativo, convém ativar a aplicação mais cedo.

Para ajudar a tomar essa decisão, consulte as métricas do App Check para os serviços que você usa:

Ativar a aplicação do App Check

Quando você entender como o App Check afetará seus usuários e estiver pronto para continuar, poderá ativar a aplicação do App Check:

Use o App Check em ambientes de depuração

Se, depois de registrar seu aplicativo para o 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 de um ambiente de integração contínua (CI), você pode crie uma compilação de depuração do seu aplicativo que use o provedor de depuração do App Check em vez de um provedor de atestado real.

Consulte Usar o App Check com o provedor de depuração nas plataformas Apple .