Início Rápido: Adicionar uma entrada com a Microsoft a um aplicativo Web Java

Seja bem-vindo! Essa provavelmente não é a página que você esperava. Enquanto trabalhamos em uma correção, este link direcionará você para o artigo certo:

Início Rápido: Adicionar uma entrada com a Microsoft a um aplicativo Web Java

Pedimos desculpas pela inconveniência e agradecemos sua paciência enquanto trabalhamos para resolver isso.

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.

Para obter uma visão geral, confira o diagrama de como o exemplo funciona.

Pré-requisitos

Para executar este exemplo, você precisa de:

Etapa 1: Configurar seu aplicativo no portal do Azure

Para usar o exemplo de código deste guia de início rápido:

  1. Adicionar URLs de resposta como https://localhost:8443/msal4jsample/secure/aad e https://localhost:8443/msal4jsample/graph/me.
  2. Criar um segredo do cliente.

Already configured Esses atributos já estão configurados no seu aplicativo.

Etapa 2: Baixar o exemplo de código

Baixar o projeto e extrair o arquivo .zip em uma pasta próxima à raiz da unidade. Por exemplo, C:\Azure-Samples.

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

Coloque o arquivo de repositório de chaves gerado na pasta recursos.

Observação

Enter_the_Supported_Account_Info_Here

Etapa 3: 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 gerará um arquivo msal-web-sample-0.1.0.war no diretório /targets.
    • Renomeie este arquivo para 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: