Biblioteca de Autenticação Microsoft Authentication para iOS e macOS

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:

  1. Aprenda as diferenças entre MSAL para iOS e macOS
  2. Registe a sua aplicação na Microsoft Entra
  3. Instala o MSAL para iOS e macOS e configura o teu projeto para usar a biblioteca
  4. 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.

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á:
  1. Na versão 10.14 e anteriores, o MSAL solicita ao utilizador uma palavra-passe do porta-chaves sempre que reinicia a aplicação.
  2. 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.