Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Biblioteca de Autenticação da Microsoft (MSAL) para iOS e macOS é um SDK de autenticação que pode ser usado para integrar autenticação de forma fluida nas suas aplicações usando o padrão da indústria OAuth2 e o OpenID Connect. Permite autenticar utilizadores ou aplicações com identidades da Microsoft. Estas identidades incluem contas de trabalho e escola do Microsoft Entra ID, contas pessoais da Microsoft, contas sociais e contas de clientes.
Usando MSAL para iOS e macOS, pode adquirir tokens de segurança da plataforma de identidades da Microsoft para autenticar utilizadores e aceder a APIs web seguras para as suas aplicações. A biblioteca suporta múltiplos cenários de autenticação, como single sign-on (SSO), Acesso Condicional e autenticação intermediada.
Suporte nativo de autenticação em MSAL
O MSAL IOS fornece APIs de autenticação nativas que permitem às aplicações implementar uma experiência nativa com fluxos personalizáveis de ponta a ponta nas suas aplicações móveis. Com a autenticação nativa, os utilizadores são guiados através de uma experiência avançada e nativa de registo e início de sessão, concebida primeiro para dispositivos móveis, sem sair da aplicação. A funcionalidade de autenticação nativa está disponível apenas para aplicações móveis em ID Externo para clientes. O macOS não é suportado. Recomenda-se usar sempre a versão mais atualizada do SDK.
Começar com a documentação conceptual MSAL para iOS e macOS
A documentação MSAL cobre padrões comuns, melhores práticas de tratamento e depuração de erros, funcionalidades adicionais da biblioteca (como registo, telemetria) e quaisquer bugs ativos ou problemas comuns com mitigações conhecidas. Se procura mais ajuda para começar com o Microsoft Entra ID, Microsoft Accounts, consulte a documentação da plataforma de identidades da Microsoft. Se procura mais informações sobre a API do Microsoft Graph, consulte a documentação do Microsoft Graph. Para usar eficazmente o MSAL iOS e macOS para proteger as suas aplicações, é importante familiarizar-se com os seguintes conceitos:
- Aprenda as diferenças entre MSAL para iOS e macOS
- Registe a sua aplicação na Microsoft Entra
- Instala o MSAL para iOS e macOS e configura o teu projeto para usar a biblioteca
- Adquirir tokens para aceder a uma API protegida
Para usar MSAL iOS e macOS na sua aplicação, precisa de registar a sua aplicação no centro de administração Microsoft Entra e configurar o seu projeto. Como o SDK suporta tanto experiências de autenticação delegada pelo navegador como nativa, siga os passos de um destes quickstarts com base no seu cenário.
Para cenários de autenticação delegada pelo navegador, consulte o guia de início rápido, Iniciar sessão de utilizadores e chamar a API Microsoft Graph a partir de uma aplicação iOS ou macOS.
Para cenários de autenticação nativa em aplicações iOS, consulte o guia de exemplo ID externo Microsoft Entra, Run iOS sample app.
Versões suportadas
iOS - MSAL suporta iOS 14 e superiores.
macOS - MSAL suporta macOS (OSX) 10.13 e superiores.
Principais diferenças entre a Biblioteca de Autenticação da Microsoft para iOS e macOS
Esta secção explica as diferenças de funcionalidade entre a Biblioteca de Autenticação da Microsoft (MSAL) para iOS e macOS.
Note
No Mac, o MSAL só suporta aplicações para macOS.
Diferenças gerais
O MSAL para macOS é um subconjunto da funcionalidade disponível para iOS.
O MSAL para macOS não suporta:
- diferentes tipos de navegador, como
ASWebAuthenticationSession,SFAuthenticationSession,SFSafariViewController. - a autenticação intermediada através da aplicação Microsoft Authenticator não é suportada para macOS.
A partilha de chaves entre aplicações do mesmo editor é mais limitada no macOS 10.14 e anteriores. Usa listas de controlo de acesso para especificar os caminhos para as aplicações que devem partilhar o porta-chaves. O utilizador pode ver indicações adicionais para o chaveiro.
No macOS 10.15+, o comportamento da MSAL é o mesmo entre iOS e macOS. A MSAL utiliza grupos de acesso ao porta-chaves para partilha de chaves.
Autenticação de Acesso Condicional
Para cenários de Acesso Condicional, haverá menos prompts de utilizador quando usar MSAL para iOS. Isto deve-se ao facto de o iOS usar a aplicação broker (Microsoft Authenticator), o que, em alguns casos, evita a necessidade de pedir algo ao utilizador.
Configuração do projeto
macOS
- Quando configurar o seu projeto no macOS, certifique-se de que a sua aplicação está assinada com um certificado válido de desenvolvimento ou produção. O MSAL ainda funciona no modo sem sinal, mas comporta-se de forma diferente no que diz respeito à persistência da cache. A aplicação só deve ser executada sem assinatura para fins de depuração. Se distribuir a aplicação sem assinatura, ela irá:
- Na versão 10.14 e anteriores, o MSAL solicita ao utilizador uma palavra-passe do porta-chaves sempre que reinicia a aplicação.
- Na versão 10.15+, a MSAL irá pedir credenciais ao utilizador para cada aquisição de token.
- As aplicações do macOS não precisam de implementar a chamada AppDelegate.
iOS
- Existem passos adicionais para configurar o seu projeto de forma a suportar o fluxo do broker de autenticação. Os passos são indicados no tutorial.
- Os projetos iOS precisam de registar esquemas personalizados no info.plist. Isto não é obrigatório no macOS.
Migração a partir da Biblioteca de Autenticação Azure Active Directory (ADAL)
A Azure Active Directory Authentication Library (ADAL) para Objective-C foi descontinuada com efeito a partir de 30 de junho de 2023. Se você ou a sua organização estiverem a usar a Azure Active Directory Authentication Library (ADAL), devem migrar para MSAL para evitar colocar em risco a segurança da sua aplicação.
Samples
Consulte a nossa lista de exemplos abrangente.
Obtenha ajuda com o SDK
Se tiver alguma dúvida sobre o MSAL SDK, encontrar um erro na documentação ou precisar de uma recomendação, por favor crie uma edição no Github com os detalhes.