Partilhar via


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

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

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

Neste tutorial, irá aprender a:

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

Pré-requisitos

  • XCode
  • Se ainda não o fez, siga as instruções em Iniciar sessão de utilizadores na aplicação móvel iOS (Swift) de exemplo utilizando a autenticação nativa e registar uma aplicação no seu inquilino externo. Certifique-se de concluir as seguintes etapas:
    • Registe uma candidatura.
    • Habilite fluxos de autenticação nativa e de cliente público.
    • Conceda permissões de API.
    • Crie um fluxo de usuário.
    • Associe o aplicativo ao fluxo de usuários.
  • Projeto iOS/macOS

Adicionar a estrutura MSAL a um aplicativo iOS/macOS

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

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

Criar instância do SDK

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

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

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

     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 Enter_the_Application_Id_Here valor e substitua-o pelo ID do aplicativo (cliente) do aplicativo que você registrou anteriormente.

    2. Localize e Enter_the_Tenant_Subdomain_Here substitua-o pelo subdomínio Directory (locatário). Por exemplo, se o domínio principal do locatário for contoso.onmicrosoft.com, use contoso. Se não tiver o subdomínio Diretório (locatário), saiba como ler os detalhes do 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 que ele suporta.

      • Para fluxos de inscrição e login com senha única de e-mail, use [.OOB].
      • Para fluxos de inscrição e login com e-mail e senha, use [.OOB, .password].
      • Para redefinição de senha de autoatendimento (SSPR), use [.OOB].

      Saiba mais sobre os tipos de desafio.

  5. Para compilar, selecione a compilação do produto>na barra de ferramentas do projeto.

Opcional: Configuração de registro em log

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

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

Isso gera todos os logs de depuração do MSAL, o que pode ser útil para diagnosticar problemas e aprender como os fluxos de autenticação nativos funcionam. Para saber mais sobre como configurar níveis de log e práticas recomendadas, consulte Fazendo login no MSAL para iOS/macOS.

Próximo passo