Tutorial: preparar seu aplicativo iOS/macOS para a autenticação nativa

Aplica-se a: Círculo verde com um símbolo de marca de seleção branco. iOS (Swift) Círculo verde com um símbolo de marca de seleção branco. macOS (Swift)

Este tutorial demonstra como adicionar a estrutura do SDK de autenticação nativa da MSAL (biblioteca de autenticação da Microsoft) ao seu aplicativo Swift para iOS/macOS.

Neste tutorial, você aprenderá a:

  • Adicionar a estrutura MSAL a um aplicativo iOS/macOS.
  • Criar uma instância do SDK.

Pré-requisitos

Adicionar a estrutura MSAL a um aplicativo iOS/macOS

  1. Abra seu projeto do iOS/macOS no Xcode.
  2. Selecione Adicionar Dependências de Pacote... no menu Arquivo.
  3. Insira https://github.com/AzureAD/microsoft-authentication-library-for-objc como a URL do Pacote e escolha Adicionar Pacote
  4. Adicione um novo grupo de conjunto de chaves ao seu projeto Funcionalidades. Use com.microsoft.adalcache no iOS e com.microsoft.identity.universalstorage no macOS.

Para obter mais informações e outros mecanismos para adicionar a MSAL ao seu projeto, confira o arquivo Readme do projeto.

Criar instância do SDK

  1. Importe a biblioteca MSAL para o seu controlador de exibição adicionando import MSAL na parte superior da sua classe ViewController.

  2. Adicione uma variável de membro nativeAuth à sua classe ViewController adicionando o seguinte código, logo antes da função viewDidLoad():

    var nativeAuth: MSALNativeAuthPublicClientApplication!
    
  3. A seguir, adicione o seguinte código à função viewDidLoad():

     do {
        nativeAuth = try MSALNativeAuthPublicClientApplication(
            clientId: "Enter_the_Application_Id_Here",
            tenantSubdomain: "Enter_the_Tenant_Subdomain_Here",
            challengeTypes: [.OOB]
        )
    
        print("Initialized Native Auth successfully.")
     } catch {
        print("Unable to initialize MSAL \(error)")
     }
    
  4. Substitua os seguintes valores pelos valores do Centro de administração do Microsoft Entra:

    1. Encontre o valor Enter_the_Application_Id_Here e o substitua pela ID de Aplicativo (cliente) do aplicativo que você registrou anteriormente.

    2. Encontre o Enter_the_Tenant_Subdomain_Here e o substitua pelo subdomínio do Diretório (locatário). Por exemplo, se o domínio primário do locatário for contoso.onmicrosoft.com, use contoso. Se não tiver o subdomínio do Diretório (locatário), saiba como ler os detalhes do seu locatário.

      Os tipos de desafio são uma lista de valores, que o aplicativo usa para notificar o Microsoft Entra sobre o método de autenticação compatível.

      • Para fluxos de inscrição e entrada com senha de uso único por email, use [.OOB].
      • Para fluxos de inscrição e entrada com email e senha, use [.OOB, .password].
      • Para redefinição de senha por autoatendimento (SSPR), use [.OOB].

      Saiba mais sobre tipos de desafio.

  5. Para compilar, selecione Produto>Compilar na barra de ferramentas do seu projeto.

Opcional: configuração do registro em log

A MSAL fornece uma API de registro em log que você pode usar para habilitar e configurar o registro em log. Para ver todos os resultados de depuração da MSAL, adicione o seguinte código no início da função viewDidLoad():

MSALGlobalConfig.loggerConfig.logLevel = .verbose
MSALGlobalConfig.loggerConfig.setLogCallback { logLevel, message, containsPII in
   if !containsPII {
      print("MSAL: \(message ?? "")")
   }
}

Isso gera todos os logs de depuração da MSAL, o que pode ser útil para diagnosticar problemas e aprender como funcionam os fluxos da autenticação nativa. Para saber mais sobre como configurar níveis e boas práticas de registro em log, confira Como registrar em log na MSAL para iOS/macOS.

Próxima etapa