Tutorial: Preparar seu aplicativo iOS para autenticação nativa
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 Swift.
Neste tutorial, irá aprender a:
- Adicione a estrutura MSAL a um aplicativo iOS.
- 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
Adicionar a estrutura MSAL a um aplicativo iOS
- Abra seu projeto iOS no Xcode.
- Selecione Adicionar dependências do pacote... no menu Arquivo.
- Digite
https://github.com/AzureAD/microsoft-authentication-library-for-objc
como o URL do pacote e escolha Adicionar pacote
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.
Próximo passo
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários