Tutorial: Preparar seu aplicativo iOS/macOS para autenticação nativa
Aplica-se a: iOS (Swift) 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
- Abra seu projeto iOS/macOS no Xcode.
- Selecione Adicionar dependências do pacote... no menu Arquivo.
- Insira
https://github.com/AzureAD/microsoft-authentication-library-for-objc
como URL do pacote e escolha Adicionar pacote. - Adicione um novo grupo de chaves às Capacidades do seu projeto. Use
com.microsoft.adalcache
no iOS ecom.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
Importe a biblioteca MSAL para o controlador de visualização adicionando
import MSAL
na parte superior da suaViewController
classe.Adicione uma
nativeAuth
variável de membro à suaViewController
classe adicionando o seguinte código imediatamente antes daviewDidLoad()
função:var nativeAuth: MSALNativeAuthPublicClientApplication!
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)") }
Substitua os seguintes valores pelos valores do centro de administração do Microsoft Entra:
Encontre o
Enter_the_Application_Id_Here
valor e substitua-o pelo ID do aplicativo (cliente) do aplicativo que você registrou anteriormente.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 forcontoso.onmicrosoft.com
, usecontoso
. 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.
- Para fluxos de inscrição e login com senha única de e-mail, use
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.