Opções de configuração do aplicativo
Para autenticar e adquirir tokens, inicialize um novo aplicativo cliente público ou confidencial em seu código. Você pode definir várias opções de configuração ao inicializar o aplicativo cliente na Biblioteca de Autenticação da Microsoft (MSAL). Estas opções dividem-se em dois grupos:
- Opções de registo, incluindo:
- Autoridade (composta pela instância do provedor de identidade e audiência de entrada para o aplicativo e, possivelmente, o ID do locatário)
- ID de Cliente
- URI de Redirecionamento
- Segredo do cliente (para aplicações cliente confidenciais)
- Opções de registro, incluindo nível de log, controle de dados pessoais e o nome do componente usando a biblioteca
Autoridade
A autoridade é uma URL que indica um diretório do qual a MSAL pode solicitar tokens.
As autoridades comuns são:
URLs de autoridade comum | Quando utilizar o |
---|---|
https://login.microsoftonline.com/<tenant>/ |
Inicie sessão apenas utilizadores de uma organização específica. O <tenant> na URL é a ID do locatário do locatário do Microsoft Entra (um GUID) ou seu domínio de locatário. |
https://login.microsoftonline.com/common/ |
Inicie sessão em utilizadores com contas escolares e profissionais ou contas Microsoft pessoais. |
https://login.microsoftonline.com/organizations/ |
Inicie sessão em utilizadores com contas escolares e profissionais. |
https://login.microsoftonline.com/consumers/ |
Inicie sessão em utilizadores apenas com contas Microsoft pessoais (MSA). |
A autoridade especificada em seu código precisa ser consistente com os tipos de conta com suporte especificados para o aplicativo em Registros de aplicativo no portal do Azure.
A autoridade pode ser:
- Uma autoridade de nuvem Microsoft Entra.
- Uma autoridade B2C do Azure AD. Consulte as especificidades do B2C.
- Uma autoridade dos Serviços de Federação do Ative Directory (AD FS). Consulte Suporte do AD FS.
As autoridades de nuvem do Microsoft Entra têm duas partes:
- A instância do provedor de identidade
- O público de início de sessão da aplicação
A instância e a audiência podem ser concatenadas e fornecidas como a URL da autoridade. Este diagrama mostra como o URL da autoridade é composto:
Instância na nuvem
A instância é usada para especificar se seu aplicativo está assinando usuários da nuvem pública do Azure ou de nuvens nacionais. Usando o MSAL em seu código, você pode definir a instância de nuvem do Azure usando uma enumeração ou passando a URL para a instância de nuvem nacional como membro Instance
.
MSAL.NET lançará uma exceção explícita se ambos Instance
forem AzureCloudInstance
especificados.
Se você não especificar uma instância, seu aplicativo terá como destino a instância de nuvem pública do Azure (a instância da URL https://login.onmicrosoftonline.com
).
Público do aplicativo
O público de início de sessão depende das necessidades comerciais da sua aplicação:
- Se você for um desenvolvedor de linha de negócios (LOB), provavelmente produzirá um aplicativo de locatário único que será usado apenas em sua organização. Nesse caso, especifique a organização por sua ID de locatário (a ID da sua instância do Microsoft Entra) ou por um nome de domínio associado à instância do Microsoft Entra.
- Se você for um ISV, talvez queira entrar em usuários com suas contas corporativas e de estudante em qualquer organização ou em algumas organizações (aplicativo multilocatário). Mas você também pode querer que os usuários entrem com suas contas pessoais da Microsoft.
Como especificar o público em seu código/configuração
Usando MSAL em seu código, você especifica a audiência usando um dos seguintes valores:
- A enumeração de audiência de autoridade do Microsoft Entra
- O ID do inquilino, que pode ser:
- Um GUID (a ID da sua instância do Microsoft Entra), para aplicativos de locatário único
- Um nome de domínio associado à sua instância do Microsoft Entra (também para aplicativos de locatário único)
- Um destes espaços reservados como um ID de locatário no lugar da enumeração de audiência de autoridade do Microsoft Entra:
organizations
para um aplicativo multilocatárioconsumers
Para iniciar sessão em utilizadores apenas com as respetivas contas pessoaiscommon
para iniciar sessão em utilizadores com as respetivas contas escolares e profissionais ou com as respetivas contas Microsoft pessoais
A MSAL lançará uma exceção significativa se você especificar o público de autoridade do Microsoft Entra e a ID do locatário.
Recomenda-se especificar uma audiência, pois muitos locatários e os aplicativos implantados neles terão usuários convidados. Se o seu aplicativo tiver usuários externos, os pontos de extremidade de e organization
devem ser evitadoscommon
. Se você não especificar um público, seu aplicativo segmentará a ID do Microsoft Entra e as contas pessoais da Microsoft como um público e se comportará como se common
tivesse sido especificado.
Audiência efetiva
O público efetivo para seu aplicativo será o mínimo (se houver uma interseção) do público definido em seu aplicativo e o público especificado no registro do aplicativo. Na verdade, a experiência de registros de aplicativos permite especificar o público (os tipos de conta suportados) para o aplicativo. Para obter mais informações, consulte Guia de início rápido: registrar um aplicativo com a plataforma de identidade da Microsoft.
Atualmente, a única maneira de fazer com que um aplicativo entre usuários apenas com contas pessoais da Microsoft é definir estas duas configurações:
- Defina o público de registro do aplicativo como
Work and school accounts and personal accounts
. - Defina o público em seu código/configuração como
AadAuthorityAudience.PersonalMicrosoftAccount
(ouTenantID
="consumidores").
ID de Cliente
A ID do cliente é a ID exclusiva do Aplicativo (cliente) atribuída ao seu aplicativo pela ID do Microsoft Entra quando o aplicativo foi registrado. Você pode encontrar a ID do aplicativo (cliente) na página Visão geral do aplicativo em aplicativos Identity>Applications>Enterprise.
Redirecionar URL
O URI de redirecionamento é o URI para o qual o provedor de identidade enviará os tokens de segurança de volta.
Redirecionar URI para aplicativos cliente públicos
Se você for um desenvolvedor de aplicativo cliente público que está usando o MSAL:
Você gostaria de usar
.WithDefaultRedirectUri()
em aplicativos da área de trabalho ou da Plataforma Universal do Windows (UWP) (MSAL.NET 4.1+). O.WithDefaultRedirectUri()
método definirá a propriedade URI de redirecionamento do aplicativo cliente público para o URI de redirecionamento recomendado padrão para aplicativos cliente públicos.Plataforma Redirecionar URL Aplicação de ambiente de trabalho (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
UWP valor de WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
. Isso permite o logon único (SSO) com o navegador, definindo o valor para o resultado de WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), que você precisa registrar.NET https://localhost
permite que o usuário use o navegador do sistema para autenticação interativa, uma vez que o .NET não tem uma interface do usuário para a exibição da Web incorporada no momento.
Você pode substituir o URI de redirecionamento usando a RedirectUri
propriedade (por exemplo, se você usar corretores). Aqui estão alguns exemplos de URIs de redirecionamento para esse cenário:
RedirectUriOnAndroid
= "msuth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";RedirectUriOnIos
= $"msauth. {Bundle.ID}://auth";
Para obter mais detalhes sobre o Android, consulte Brokered auth in Android.
Ao criar um aplicativo usando o MSAL Android, você pode configurar o durante a etapa inicial de registro do
redirect_uri
aplicativo ou adicioná-lo depois.- O formato do URI de redirecionamento é:
msauth://<yourpackagename>/<base64urlencodedsignature>
- Exemplo:
redirect_uri
=msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
- O formato do URI de redirecionamento é:
Para encontrar mais detalhes sobre a configuração do aplicativo MSAL Android, consulte Configuração do MSAL Android.
Configure o URI de redirecionamento em Registros de aplicativos:
Redirecionar URI para aplicativos cliente confidenciais
Para aplicativos Web, o URI de redirecionamento (ou URL de resposta) é o URI que a ID do Microsoft Entra usará para enviar o token de volta ao aplicativo. O URI pode ser a URL do aplicativo Web/API da Web se o aplicativo confidencial for um deles. O URI de redirecionamento precisa ser registrado no registro do aplicativo. O registro é especialmente importante quando você implanta um aplicativo que você testou inicialmente localmente. Em seguida, você precisa adicionar a URL de resposta do aplicativo implantado no portal de registro do aplicativo.
Para aplicativos daemon, não é necessário especificar um URI de redirecionamento.
Segredo do cliente
Esta opção especifica o segredo do cliente para o aplicativo cliente confidencial. O segredo do cliente (senha do aplicativo) é fornecido pelo portal de registro do aplicativo ou fornecido ao Microsoft Entra ID durante o registro do aplicativo com o PowerShell Microsoft Entra ID, PowerShell AzureRM ou CLI do Azure.
Registo
Para ajudar na depuração e na solução de problemas de falha de autenticação, o MSAL fornece suporte interno ao registro em log. O login em cada biblioteca é abordado nos seguintes artigos:
Próximos passos
Saiba mais sobre como instanciar aplicativos cliente usando MSAL.NET e instanciar aplicativos cliente usando MSAL.js.