Guia de início rápido: adicionar entrada com a Microsoft a um aplicativo Web Java

Bem-vindo! Esta provavelmente não é a página que você estava esperando. Enquanto trabalhamos em uma correção, este link deve levá-lo ao artigo certo:

Guia de início rápido: adicionar entrada com a Microsoft a um aplicativo Web Java

Pedimos desculpas pelo inconveniente e agradecemos a sua paciência enquanto trabalhamos para resolver este problema.

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

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

Pré-requisitos

Para executar este exemplo, você precisa:

Etapa 1: Configurar seu aplicativo no portal do Azure

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

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

Already configured Seu aplicativo está configurado com esses atributos.

Etapa 2: Baixe o exemplo de código

Baixe o projeto e extraia o arquivo .zip em uma pasta perto da raiz da sua unidade. Por exemplo, C:\Azure-Samples.

Para usar HTTPS com localhost, forneça as server.ssl.key propriedades. Para gerar um certificado autoassinado, use o utilitário keytool (incluído no JRE).

Eis 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 keystore gerado na pasta de recursos .

Nota

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 incorporado.
  • Empacote-o em um arquivo WAR usando o Maven e, em seguida, implante-o em uma solução de contêiner J2EE como o Apache Tomcat.
Executando o projeto a partir de um IDE

Para executar o aplicativo Web a partir de um IDE, selecione executar e vá para a página inicial do projeto. Para este exemplo, o URL padrão da página inicial é https://localhost:8443.

  1. Na página inicial, selecione o botão Login para redirecionar os usuários para o Microsoft Entra ID e solicitar credenciais.

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

    • Sair: desconecta o usuário atual do aplicativo e redireciona esse usuário para a página inicial.
    • 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.
Executando o projeto a partir do Tomcat

Se você quiser 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.

    • Procure a <connector> tag 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 da Linha de Comandos. Vá para a pasta raiz deste exemplo (onde o arquivo pom.xml está localizado) e execute mvn > package para criar o projeto.

    • Este comando irá 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 aos arquivos de projeto, por motivos de segurança, recomendamos que você use um certificado em vez de um segredo do cliente antes de usar o aplicativo em um ambiente de produção. Para obter mais informações sobre como usar um certificado, consulte Credenciais de certificado para autenticação de aplicativos.

Mais informações

Como funciona a amostra

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

Obtenha o MSAL

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

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

Em pom.xml:

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

Em build.gradle:

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

Inicializar MSAL

Adicione uma referência ao MSAL para Java adicionando o seguinte código no início do arquivo onde você usará o MSAL4J:

import com.microsoft.aad.msal4j.*;

Ajuda e suporte

Se precisar de ajuda, quiser comunicar um problema ou quiser saber mais sobre as suas opções de suporte, consulte Ajuda e suporte para programadores.

Próximos passos

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