Partilhar via


Guia de início rápido: entre usuários e chame o Microsoft Graph a partir de um aplicativo Web Python Flask

Neste início rápido, você baixa e executa um exemplo de aplicativo Web Python Flask que demonstra como autenticar usuários e chamar a API do Microsoft Graph. Os usuários em sua organização do Microsoft Entra podem entrar no aplicativo.

Pré-requisitos

Passo 1: Registar a aplicação

Gorjeta

As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.

Siga estas etapas para registrar seu aplicativo no centro de administração do Microsoft Entra:

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Se você tiver acesso a vários locatários, use o ícone Configurações no menu superior para alternar para o locatário no qual deseja registrar o aplicativo no menu Diretórios + assinaturas.
  3. Navegue até Registros de aplicativos de identidade>>e selecione Novo registro.
  4. Insira um Nome para seu aplicativo, por exemplo , python-webapp.
  5. Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
  6. Em Redirecionar URIs, selecione Web para a plataforma.
  7. Insira um URI de redirecionamento de http://localhost:5000/getAToken. Você pode alterar esse valor mais tarde.
  8. Selecione Registar.

Etapa 2: Adicionar um segredo do cliente

O aplicativo de exemplo usa um segredo do cliente para provar sua identidade quando solicita tokens. Siga estas etapas para criar um segredo do cliente para seu aplicativo Web Python:

  1. Na página Visão geral do aplicativo, anote o valor da ID do aplicativo (cliente) para uso posterior.
  2. Em Gerenciar, selecione Certificados & segredos e, na seção Segredos do cliente, selecione Novo segredo do cliente.
  3. Insira uma descrição para o segredo do cliente, deixe a expiração padrão e selecione Adicionar.
  4. Salve o valor do segredo do cliente em um local seguro. Você precisa desse valor configurar o código e não pode recuperá-lo mais tarde.

Ao criar credenciais para um aplicativo cliente confidencial, a Microsoft recomenda que você use um certificado em vez de um segredo do cliente antes de mover o aplicativo para um ambiente de produção. Para obter mais informações sobre como usar um certificado, consulte estas instruções.

Etapa 3: adicionar um escopo

Como esse aplicativo entra nos usuários, você precisa adicionar permissões delegadas:

  1. Em Gerenciar, selecione Permissões>de API Adicionar uma permissão.
  2. Verifique se a guia APIs da Microsoft está selecionada.
  3. Na seção APIs da Microsoft comumente usadas, selecione Microsoft Graph.
  4. Na seção Permissões delegadas, verifique se User.Read está selecionado. Use a caixa de pesquisa, se necessário.
  5. Selecione Adicionar permissões.

Etapa 4: Baixe o aplicativo de exemplo

Faça o download do exemplo de código Python ou clone o repositório:

git clone https://github.com/Azure-Samples/ms-identity-docs-code-python/

Etapa 5: Configurar o aplicativo de exemplo

  1. Abra o aplicativo que você baixou em um IDE e navegue até a pasta raiz do aplicativo de exemplo.

    cd flask-web-app
    
  2. Crie um arquivo .env na pasta raiz do projeto usando .env.sample como guia.

    # The following variables are required for the app to run.
    CLIENT_ID=<Enter_your_client_id>
    CLIENT_SECRET=<Enter_your_client_secret>
    AUTHORITY=<Enter_your_authority_url>
    
    • Defina o valor de para o ID do CLIENT_ID aplicativo (cliente) para o aplicativo registrado, disponível na página de visão geral.
    • Defina o valor de para o segredo do CLIENT_SECRET cliente que você criou em Certificados & Segredos para o aplicativo registrado.
    • Defina o valor de AUTHORITY como .https://login.microsoftonline.com/<TENANT_GUID> O ID do diretório (locatário) está disponível na página de visão geral do registro do aplicativo.

    As variáveis de ambiente são referenciadas em app_config.py e são mantidas em um arquivo .env separado para mantê-las fora do controle do código-fonte. O arquivo .gitignore fornecido impede que o arquivo .env seja submetido a check-in.

Etapa 6: Executar o aplicativo de exemplo

  1. Crie um ambiente virtual para o aplicativo:

    py -m venv .venv
    .venv\scripts\activate
    
  2. Instale os requisitos usando pip:

    pip install -r requirements.txt
    
  3. Execute o aplicativo a partir da linha de comando. Verifique se seu aplicativo está sendo executado na mesma porta que o URI de redirecionamento configurado anteriormente.

    flask run --debug --host=localhost --port=5000
    
  4. Copie o URL https que aparece no terminal, por exemplo, https://localhost:5000e cole-o em um navegador. Recomendamos o uso de uma sessão privada ou anônima do navegador.

  5. Siga os passos e introduza os detalhes necessários para iniciar sessão com a sua conta Microsoft. É-lhe pedido que forneça um endereço de e-mail e uma palavra-passe para iniciar sessão.

  6. O aplicativo solicita permissão para manter o acesso aos dados aos quais você deu acesso e para fazer login e ler seu perfil, conforme mostrado. Selecione Aceitar.

Diagrama que mostra o aplicativo de exemplo solicitando consentimento para acessar as permissões necessárias.

  1. A captura de tela a seguir é exibida, indicando que você entrou com êxito no aplicativo.

Diagrama que mostra como o aplicativo de exemplo entrou com êxito em um usuário.

Como funciona

O diagrama a seguir demonstra como o aplicativo de exemplo funciona:

Diagrama que mostra como funciona o aplicativo de exemplo gerado por este início rápido.

  1. O aplicativo usa o identity pacote para obter um token de acesso da plataforma de identidade da Microsoft. Este pacote foi criado sobre a Microsoft Authentication Library (MSAL) para Python para simplificar a autenticação e a autorização em aplicativos Web.

  2. O token de acesso obtido na etapa anterior é usado como um token de portador para autenticar o usuário ao chamar a API do Microsoft Graph.

Próximos passos

Saiba mais criando um aplicativo Web Python que entra em usuários e chama uma API da Web protegida na seguinte série de tutoriais com várias partes: