Share via


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:

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:

Como é composto o URL da autoridade

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ário
    • consumers Para iniciar sessão em utilizadores apenas com as respetivas contas pessoais
    • common 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 (ou TenantID ="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ê não precisa adicionar um URI de redirecionamento se estiver criando um aplicativo Xamarin para Android e iOS que não ofereça suporte ao URI de redirecionamento do broker. Ele é definido automaticamente para msal{ClientId}://auth Xamarin Android e iOS.

  • Configure o URI de redirecionamento em Registros de aplicativos:

    Redirecionar URI em registros de aplicativos

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 do iOS, consulte Migrar aplicativos iOS que usam o Microsoft Authenticator do ADAL.NET para o MSAL.NET e Aproveitando o broker no iOS. Para obter mais detalhes sobre o Android, consulte Brokered auth in Android.

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.