Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
O fluxo de nome de usuário e senha não é recomendado
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:
- ou você, como desenvolvedor, clicou no botão Conceder no portal do Azure para si mesmo,
- ou um administrador do locatário clicou no botão Conceder/revogar consentimento do administrador para {tenant domain} na guia Permissões de API no registro do aplicativo (consulte Adicionar permissões para acessar APIs da Web)
- ou você forneceu uma maneira de os usuários consentirem com o aplicativo (consulte Solicitando consentimento individual do usuário)
- ou você forneceu uma maneira para o administrador do locatário consentir com o aplicativo (consulte o consentimento do administrador)
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.