Autenticação de nome de usuário e senha

Warning

O fluxo ROPC (Resource Owner Password Credential) foi preterido para aplicativos cliente públicos devido a riscos de segurança. A Microsoft recomenda usar um fluxo de autenticação mais seguro. Siga as diretrizes oficiais sobre como migrar do ROPC.

O conteúdo a seguir é aplicável a todas as bibliotecas MSAL, não apenas Python MSAL.

Microsoft recomenda que você não use o fluxo de nome de usuário e senha. Na maioria dos cenários, alternativas mais seguras estão disponíveis e são recomendadas. Esse fluxo requer um alto grau de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Use-o somente quando outros fluxos mais seguros não forem viáveis. Para obter mais informações sobre por que você deseja evitar o uso dessa concessão, veja por que Microsoft está trabalhando para tornar as senhas uma coisa do passado.

Restrições

  • Por design e política, a autenticação de nome de usuário/senha funciona apenas para contas corporativas e de estudante, mas não para contas de Microsoft (MSA). Veja a definição desses dois tipos de contas aqui.
  • A autenticação nome de usuário/senha não é compatível com acesso condicional e autenticação multifator, pois esse não é um fluxo interativo, o plataforma de identidade da Microsoft não tem a oportunidade de apresentar uma caixa de diálogo baseada na Web para o usuário final interagir. Como consequência, se seu aplicativo for executado em um locatário Microsoft Entra em que o administrador do locatário exigirá autenticação multifator (muitas organizações fazem isso), esse fluxo não funcionará.
  • Como a Autenticação de Senha de Nome de Usuário é um fluxo não interativo:
    • o usuário do seu aplicativo deve ter consentido anteriormente em usar o aplicativo
    • ou o administrador do locatário deve ter concedido previamente consentimento para que todos os usuários do locatário usem o aplicativo.
    • Isso significa que:

Recomendações

Mesmo que você opte por usar autenticação por nome de usuário e senha, não deverá armazenar a senha do usuário final. Depois que a autenticação inicial por nome de usuário e senha fosse bem-sucedida, o cache de tokens da MSAL entraria em ação e armazenaria automaticamente em cache o token de atualização (RT). De agora em diante, seu aplicativo pode simplesmente chamar MSAL's acquire_token_silent() para obter um novo token de acesso sem nome de usuário e senha.

Configuração

plataforma de identidade da Microsoft dá suporte ao fluxo de senha de nome de usuário no aplicativo cliente público e no aplicativo cliente confidencial. Se você precisar configurar seu aplicativo como um aplicativo cliente público, ative a opção na captura de tela abaixo para permitir.

Instalação do aplicativo público