Compartilhar via


Início Rápido: Conecte usuários e chame a API do Microsoft Graph de um aplicativo web Java

Neste guia de início rápido, você baixará e executará um exemplo de código que demonstra como um aplicativo Web Java pode conectar usuários e chamar a API do Microsoft Graph. Usuários de qualquer organização Microsoft Entra podem entrar no aplicativo.

Confira Como o exemplo funciona para ver uma ilustração.

Pré-requisitos

Para executar este exemplo, você precisa de:

Registrar e baixar o aplicativo de início rápido

Dica

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

Há duas maneiras de iniciar o aplicativo de início rápido: expresso (opção 1) ou manual (opção 2).

Opção 1: registrar e configurar automaticamente seu aplicativo e, depois, baixar o exemplo de código

  1. Acesse o Centro de Administração do Microsoft Entra - Registros de aplicativos experiência de início rápido como, no mínimo, um Administrador de Aplicativos de Nuvem.
  2. Insira um nome para o aplicativo e selecione Registrar.
  3. Siga as instruções na experiência de início rápido do portal para baixar o código do aplicativo configurado automaticamente.

Opção 2: Registrar e configurar manualmente o aplicativo e o exemplo de código

Etapa 1: Registre seu aplicativo

Para registrar seu aplicativo e adicionar manualmente as informações de registro do aplicativo a ele, execute estas etapas:

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativo de nuvem.
  2. Se você tiver acesso a vários locatários, use o ícone de 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é Identidade>Aplicativos>Registros de aplicativos e selecione Novo registro.
  4. Insira um Nome para seu aplicativo, por exemplo, java-webapp. Os usuários do seu aplicativo podem ver esse nome. Você pode alterá-lo posteriormente.
  5. Selecione Registrar.
  6. Na página Visão geral, anote a ID do Aplicativo (cliente) e a ID do Diretório (locatário) . Você precisará desses valores mais tarde.
  7. Em Gerenciar, selecione Autenticação.
  8. Selecione Adicionar uma plataforma>Web.
  9. Na seção URIs de Redirecionamento, insira https://localhost:8443/msal4jsample/secure/aad.
  10. Selecione Configurar.
  11. Na seção Web, em URIs de redirecionamento, digite https://localhost:8443/msal4jsample/graph/me como um segundo URI de redirecionamento.
  12. Em Gerenciar, selecione Certificados e segredos. Na seção Segredos do Cliente, escolha Novo Segredo do Cliente.
  13. Insira uma descrição de chave (por exemplo, segredo do aplicativo); deixe o término padrão e selecione Adicionar.
  14. Observe o Valor do segredo do cliente. Você precisará dela mais tarde.

Etapa 2: Baixar o exemplo de código

Baixe o exemplo de código

Etapa 3: Configurar o exemplo de código

  1. Extraia o arquivo zip para uma pasta local.

  2. Opcional. Se você usar um ambiente de desenvolvimento integrado, abra o exemplo nesse ambiente.

  3. Abra o arquivo application.properties. Você pode encontrá-lo na pasta src/main/resources/ . Substitua os valores nos campos aad.clientId, aad.authority e aad.secretKey pela ID do aplicativo, ID do locatário e valores de segredo do cliente, respectivamente. Veja como deve ficar:

     aad.clientId=Enter_the_Application_Id_here
     aad.authority=https://login.microsoftonline.com/Enter_the_Tenant_Info_Here/
     aad.secretKey=Enter_the_Client_Secret_Here
     aad.redirectUriSignin=https://localhost:8443/msal4jsample/secure/aad
     aad.redirectUriGraph=https://localhost:8443/msal4jsample/graph/me
     aad.msGraphEndpointHost="https://graph.microsoft.com/"
    

No código anterior:

  • Enter_the_Application_Id_here é a ID do aplicativo que você registrou.
  • Enter_the_Client_Secret_Here é o Segredo do Cliente criado em Certificados e segredos para o aplicativo registrado.
  • Enter_the_Tenant_Info_Here é o valor da ID do Diretório (locatário) do aplicativo que você registrou.
  1. Para usar HTTPS com localhost, forneça as propriedades de server.ssl.key. Para gerar um certificado autoassinado, use o utilitário keytool (incluído no JRE).

Veja um exemplo:

keytool -genkeypair -alias testCert -keyalg RSA -storetype PKCS12 -keystore keystore.p12 -storepass password

server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-alias=testCert
  1. Coloque o arquivo de repositório de chaves gerado na pasta recursos.

Etapa 4: Executar o exemplo de código

Para executar o projeto, execute uma destas etapas:

  • Execute-o diretamente do seu IDE usando o servidor Spring Boot inserido.
  • Empacote-o em um arquivo WAR usando Maven e implante-o em uma solução de contêiner J2EE como Apache Tomcat.
Como executar o projeto de um IDE

Para executar o aplicativo Web de um IDE, selecione executar e vá para a home page do projeto. Nesta amostra, a URL da home page padrão é https://localhost:8443.

  1. Na página frontal, selecione o botão Logon para redirecionar os usuários para a ID do Microsoft Entra e solicitar que forneçam as credenciais.

  2. Depois que os usuários são autenticados, eles são redirecionados para https://localhost:8443/msal4jsample/secure/aad. Agora ele está conectado e a página mostrará informações sobre a conta do usuário. A interface do usuário de exemplo tem estes botões:

    • Sair: desconecta o usuário atual do aplicativo e o redireciona para a home page.
    • Mostrar Informações do Usuário: adquire um token para o Microsoft Graph e chama o Microsoft Graph com uma solicitação que contém o token, que retorna informações básicas sobre o usuário conectado.
Como executar o projeto do Tomcat

Caso deseje implantar o exemplo da Web no Tomcat, faça algumas alterações no código-fonte.

  1. Abra ms-identity-java-webapp/src/main/java/com.microsoft.azure.msalwebsample/MsalWebSampleApplication.

    • Exclua todo o código-fonte e substitua-o por este código:

       package com.microsoft.azure.msalwebsample;
      
       import org.springframework.boot.SpringApplication;
       import org.springframework.boot.autoconfigure.SpringBootApplication;
       import org.springframework.boot.builder.SpringApplicationBuilder;
       import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
      
       @SpringBootApplication
       public class MsalWebSampleApplication extends SpringBootServletInitializer {
      
        public static void main(String[] args) {
         SpringApplication.run(MsalWebSampleApplication.class, args);
        }
      
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
         return builder.sources(MsalWebSampleApplication.class);
        }
       }
      
  2. A porta HTTP padrão do Tomcat é 8080, mas você precisa de uma conexão HTTPS pela porta 8443. Para definir essa configuração:

    • Vá para tomcat/conf/server.xml.

    • Pesquise a marca <connector> e substitua o conector existente por este conector:

      <Connector
               protocol="org.apache.coyote.http11.Http11NioProtocol"
               port="8443" maxThreads="200"
               scheme="https" secure="true" SSLEnabled="true"
               keystoreFile="C:/Path/To/Keystore/File/keystore.p12" keystorePass="KeystorePassword"
               clientAuth="false" sslProtocol="TLS"/>
      
  3. Abra uma janela de Prompt de Comando. Vá para a pasta raiz deste exemplo (em que o arquivo pom.xml está localizado) e execute mvn package para compilar o projeto.

    • Esse comando vai gerar um arquivo msal-web-sample-0.1.0.war no diretório /targets.
    • Renomeie este arquivo como msal4jsample.war.
    • Implante o arquivo WAR usando o Tomcat ou qualquer outra solução de contêiner J2EE.
      • Para implantar o arquivo msal4jsample.war, copie-o para o diretório /webapps/ na instalação do Tomcat e inicie o servidor Tomcat.
  4. Depois que o arquivo for implantado, vá para https://localhost:8443/msal4jsample usando um navegador.

Importante

Este aplicativo de início rápido usa um segredo do cliente para se identificar como um cliente confidencial. Como o segredo do cliente é adicionado como texto sem formatação a seus arquivos de projeto, por motivos de segurança, é recomendável usar um certificado, em vez de um segredo do cliente, antes de usar o aplicativo em um ambiente de produção. Para saber mais sobre como usar um certificado, confira Credenciais de certificado para autenticação de aplicativo.

Mais informações

Como o exemplo funciona

Diagram that shows how the sample app generated by this quickstart works.

Obter MSAL

MSAL4J (MSAL para Java) é a biblioteca Java usada para conectar usuários e solicitar tokens que são usados para acessar uma API protegida pela plataforma de identidade da Microsoft.

Adicione a MSAL4J ao seu aplicativo usando o Maven ou o Gradle para gerenciar as dependências fazendo as alterações a seguir no arquivo pom.xml (Maven) ou build.gradle (Gradle) do aplicativo.

No pom.xml:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>msal4j</artifactId>
    <version>1.0.0</version>
</dependency>

No build.gradle:

compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'

Inicializar a MSAL

Adicione uma referência à MSAL para Java incluindo o seguinte código no início do arquivo no qual você usará a MSAL4J:

import com.microsoft.aad.msal4j.*;

Ajuda e suporte

Se precisar de ajuda, quiser relatar um problema ou desejar saber mais sobre as opções de suporte, confira Ajuda e suporte para desenvolvedores.

Próximas etapas

Para ver uma discussão mais detalhada sobre a criação de aplicativos Web que conectam usuários na plataforma de identidade da Microsoft, veja a série de cenários com várias partes: