Guia de início rápido: entre usuários e chame a API do Microsoft Graph a partir de um aplicativo Web Java
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.
Consulte Como funciona o exemplo para obter uma ilustração.
Pré-requisitos
Para executar este exemplo, você precisa:
- Java Development Kit (JDK) 8 ou posterior.
- Maven.
Registar e transferir a aplicação do início rápido
Gorjeta
As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.
Há duas maneiras de iniciar seu aplicativo de início rápido: expresso (opção 1) e manual (opção 2).
Opção 1: Registre-se e configure automaticamente seu aplicativo e, em seguida, baixe o exemplo de código
- Vá para o Centro de administração do Microsoft Entra - Experiência de início rápido de registros de aplicativos como pelo menos um administrador de aplicativos na nuvem.
- Introduza um nome para a sua aplicação e, em seguida, selecione Registar.
- 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: registar e configurar manualmente a aplicação e o exemplo de código
Passo 1: Registar a aplicação
Para registrar seu aplicativo e adicionar manualmente as informações de registro do aplicativo a ele, siga estas etapas:
- Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
- 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.
- Navegue até Registros de aplicativos de identidade>>e selecione Novo registro.
- Insira um Nome para sua aplicação, por exemplo , java-webapp. Os usuários do seu aplicativo podem ver esse nome. Você pode alterá-lo mais tarde.
- Selecione Registar.
- 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.
- Em Gerir, selecione Autenticação.
- Selecione Adicionar uma plataforma>Web.
- Na seção Redirecionar URIs, digite
https://localhost:8443/msal4jsample/secure/aad
. - Selecione Configurar.
- Na seção Web, em Redirecionar URIs, insira
https://localhost:8443/msal4jsample/graph/me
como um segundo URI de redirecionamento. - Em Gerenciar, selecione Certificados & segredos. Na seção Segredos do cliente, selecione Novo segredo do cliente.
- Insira uma descrição de chave (por exemplo, segredo do aplicativo), deixe a expiração padrão e selecione Adicionar.
- Observe o valor do segredo do cliente. Precisará dele mais tarde.
Etapa 2: Baixe o exemplo de código
Etapa 3: Configurar o exemplo de código
Extraia o arquivo zip para uma pasta local.
Opcional. Se você usar um ambiente de desenvolvimento integrado, abra o exemplo nesse ambiente.
Abra o arquivo application.properties . Você pode encontrá-lo na pasta src/main/resources/ . Substitua os valores nos campos
aad.clientId
, e pelos valores ID do aplicativo, ID do locatário eaad.secretKey
segredo do cliente,aad.authority
respectivamente. Veja como deve ser: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
é o ID do aplicativo que você registrou.Enter_the_Client_Secret_Here
é o Segredo do Cliente que você criou em Certificados & segredos para o aplicativo que você registrou.Enter_the_Tenant_Info_Here
é o valor da ID do diretório (locatário) do aplicativo que você registrou.
- 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 .
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 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.
Na página inicial, selecione o botão Login para redirecionar os usuários para o Microsoft Entra ID e solicitar credenciais.
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.
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); } }
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"/>
Abra uma janela da Linha de Comandos. Vá para a pasta raiz deste exemplo (onde o arquivo está localizado) e execute
mvn package
para criar opom.xml
projeto.- Este comando irá gerar um
msal-web-sample-0.1.0.war
ficheiro no seu/targets
diretório. - 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, copie-o para o diretório na instalação do Tomcat e inicie o
msal4jsample.war
/webapps/
servidor Tomcat.
- Para implantar o arquivo, copie-o para o diretório na instalação do Tomcat e inicie o
- Este comando irá gerar um
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
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: