Tutorial: preparar seu aplicativo iOS/macOS para a autenticação nativa
Aplica-se a: iOS (Swift) 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
- Xcode
- Caso ainda não tenha feito isso, siga as instruções em Conectar usuários no aplicativo móvel iOS (Swift) de exemplo usando a autenticação nativa e registre um aplicativo no locatário externo. Certifique-se de concluir as seguintes etapas:
- Registre um aplicativo.
- Habilite os fluxos do cliente público e da autenticação nativa.
- Conceder permissões de API.
- Criar um fluxo de usuário.
- Associe o aplicativo ao fluxo do usuário.
- Projeto iOS/macOS
Adicionar a estrutura MSAL a um aplicativo iOS/macOS
- Abra seu projeto do iOS/macOS no Xcode.
- Selecione Adicionar Dependências de Pacote... no menu Arquivo.
- Insira
https://github.com/AzureAD/microsoft-authentication-library-for-objc
como a URL do Pacote e escolha Adicionar Pacote - Adicione um novo grupo de conjunto de chaves ao seu projeto Funcionalidades. Use
com.microsoft.adalcache
no iOS ecom.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
Importe a biblioteca MSAL para o seu controlador de exibição adicionando
import MSAL
na parte superior da sua classeViewController
.Adicione uma variável de membro
nativeAuth
à sua classeViewController
adicionando o seguinte código, logo antes da funçãoviewDidLoad()
:var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Substitua os seguintes valores pelos valores do Centro de administração do Microsoft Entra:
Encontre o valor
Enter_the_Application_Id_Here
e o substitua pela ID de Aplicativo (cliente) do aplicativo que você registrou anteriormente.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 forcontoso.onmicrosoft.com
, usecontoso
. 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.
- Para fluxos de inscrição e entrada com senha de uso único por email, use
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.