Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como desenvolver um aplicativo Web Spring que ofereça suporte à entrada pela conta Microsoft Entra. Depois de concluir todas as etapas neste artigo, o aplicativo Web será redirecionado para a página de entrada do Microsoft Entra quando for acessado anonimamente. A captura de tela a seguir mostra a página de entrada do Microsoft Entra:
Pré-requisitos
Os seguintes pré-requisitos são necessários para concluir as etapas neste artigo:
- Um JDK (Java Development Kit) com suporte. Para obter mais informações sobre os JDKs disponíveis para uso ao desenvolver no Azure, consulte suporte a Java no Azure e no Azure Stack.
- Apache Maven, versão 3.0 ou superior.
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita .
Importante
O Spring Boot versão 2.5 ou superior é necessário para concluir as etapas neste artigo.
Criar um aplicativo usando o Spring Initializr
Navegue até https://start.spring.io/.
Especifique que você deseja gerar um projeto de Maven com Java, insira os nomes de Grupo e Artefato para seu aplicativo.
Adicionar dependências para o Spring Web e o cliente OAuth2.
Na parte inferior da página, selecione o botão GERAR.
Quando solicitado, baixe o projeto para um caminho no computador local.
Adicionar a dependência do Microsoft Entra
Extraia os arquivos de projeto baixados para um diretório em seu computador local.
Abra o arquivo pom.xml em um editor de texto.
Adicione o Bill of Materials (BOM) do Spring Cloud Azure à seção
<dependencyManagement>:<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>5.23.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Adicione a dependência Microsoft Entra Starter do Spring Cloud Azure à seção
<dependencies>.<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-active-directory</artifactId> </dependency>Salve e feche o arquivo de pom.xml.
Criar a instância do Microsoft Entra
Se você for o administrador de uma instância existente, poderá ignorar esse processo.
Faça logon em https://portal.azure.com.
Selecione Todos os serviços, depois Identidade e então ID do Microsoft Entra.
Insira o nome da organização e seu nome de domínio inicial . Copie a URL completa do diretório. Você usará a URL para adicionar contas de usuário posteriormente neste tutorial. (Por exemplo:
azuresampledirectory.onmicrosoft.com.)Copie a URL completa do diretório. Você usará a URL para adicionar contas de usuário posteriormente neste tutorial. (Por exemplo,
azuresampledirectory.onmicrosoft.com.).Quando terminar, selecione Criar. Levará alguns minutos para criar o novo recurso.
Quando concluir, selecione o link exibido para acessar o novo diretório.
Copie a ID do locatário . Você usará o valor da ID para configurar o arquivo application.properties posteriormente neste tutorial.
Adicionar um registro de aplicativo para seu aplicativo Spring Boot
No menu do portal, selecione Registros de aplicativo e escolha Registrar um aplicativo.
Especifique seu aplicativo e selecione Registrar.
Quando a página de registro do aplicativo for exibida, copie a ID do aplicativo (cliente) e a ID do inquilino. Você usará esses valores para configurar seu arquivo application.properties posteriormente neste tutorial.
Selecione Certificados & segredos no painel de navegação esquerdo. Em seguida, selecione Novo segredo do cliente.
Adicione uma Descrição e selecione a duração na lista Expira. Selecione Adicionar. O valor da chave será preenchido automaticamente.
Copie e salve o valor do segredo do cliente para configurar seu arquivo application.properties mais adiante neste tutorial. (Você não poderá recuperar esse valor mais tarde.)
Na página principal do registro do aplicativo, selecione de Autenticação e selecione Adicionar uma plataforma. Depois, selecione Aplicativos Web.
Para um novo URI de Redirecionamento, insira
http://localhost:8080/login/oauth2/code/e selecione Configurar.Se você tiver modificado o arquivo pom.xml para usar uma versão inicial do Microsoft Entra anterior à 3.0.0: em Fluxos híbridos e de concessão implícita, selecione Tokens de ID (usado para fluxos híbridos e implícitos) e clique em Salvar.
Adicione uma conta de usuário ao diretório e adicione essa conta a um appRole
Na página Visão geral do locatário do Microsoft Entra ID, selecione Usuários e selecione Novo usuário.
Quando o painel Usuário for exibido, insira o Nome de usuário e o Nome. Em seguida, selecione Criar.
Nota
Você precisa especificar a URL do diretório que foi mencionada anteriormente neste tutorial ao inserir o nome de usuário. Por exemplo:
test-user@azuresampledirectory.onmicrosoft.comNa página principal do registro do aplicativo, selecione Funções de aplicativoe, em seguida, selecione Criar função de aplicativo. Forneça valores para os campos de formulário, selecione Deseja habilitar esta função de aplicativo? e, em seguida, clique em Aplicar.
Na página Visão geral do diretório do Microsoft Entra, selecione Aplicativos empresariais.
Selecione Todos os aplicativose, em seguida, selecione o aplicativo ao qual você adicionou a função de aplicativo em uma etapa anterior.
Selecione Usuários e grupose selecione Adicionar usuário/grupo.
Em Usuários, selecione Nenhum Selecionado. Selecione o usuário criado anteriormente, selecione Selecionare selecione Atribuir. Se você criou mais de uma função de aplicativo anteriormente, selecione uma função.
Volte ao painel Usuários, selecione o usuário de teste, escolha Redefinir senha e copie a senha. Você usará a senha ao fazer logon em seu aplicativo mais adiante neste tutorial.
Configurar e compilar seu aplicativo
Extraia os arquivos do arquivo do projeto que você criou e baixou anteriormente neste tutorial para um diretório.
Navegue até a pasta src/main/resources em seu projeto e abra o arquivo application.properties em um editor de texto.
Especifique as configurações para o registro do aplicativo usando os valores criados anteriormente. Por exemplo:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Microsoft Entra ID tenant ID: spring.cloud.azure.active-directory.profile.tenant-id=<tenant-ID> # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=<client-ID> # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=<client-secret>Onde:
Parâmetro Descrição spring.cloud.azure.active-directory.enabledHabilitar os recursos fornecidos pelo spring-cloud-azure-starter-active-directory spring.cloud.azure.active-directory.profile.tenant-idContém a ID de Locatário do locatário do Microsoft Entra ID de antes. spring.cloud.azure.active-directory.credential.client-idContém a ID de Aplicativo do registro de aplicativo que você preencheu anteriormente. spring.cloud.azure.active-directory.credential.client-secretContém o Valor da chave do registro de aplicativo que você preencheu anteriormente. Salve e feche o arquivo application.properties.
Crie uma pasta chamada controlador na pasta de origem Java para seu aplicativo. Por exemplo: src/main/java/com/wingtiptoys/security/controller.
Crie um novo arquivo Java chamado
HelloController.java na pasta do controladore abra-o em um editor de texto. Insira o seguinte código e salve e feche o arquivo:
package com.wingtiptoys.security; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.security.access.prepost.PreAuthorize; @RestController public class HelloController { @GetMapping("Admin") @ResponseBody @PreAuthorize("hasAuthority('APPROLE_Admin')") public String Admin() { return "Admin message"; } }
Compilar e testar seu aplicativo
Abra um prompt de comando e altere o diretório para a pasta em que o arquivo pom.xml do aplicativo está localizado.
Crie seu aplicativo Spring Boot com o Maven e execute-o. Por exemplo:
mvn clean package mvn spring-boot:runDepois que o aplicativo for criado e iniciado pelo Maven, abra
http://localhost:8080/Adminem um navegador da Web. Você deve receber uma solicitação de nome de usuário e senha.
Nota
Você poderá ser solicitado a alterar sua senha se esse for o primeiro logon de uma nova conta de usuário.
Depois de fazer logon com êxito, você deverá ver o texto de exemplo "Mensagem de administrador" do controlador.
Resumo
Neste tutorial, você criou um novo aplicativo Web Java usando o starter do Microsoft Entra, configurou um novo tenant do Microsoft Entra, registrou um novo aplicativo no tenant, e então configurou seu aplicativo para usar as anotações e classes do Spring para proteger o app web.
Consulte também
- Para obter informações sobre novas opções de interface do usuário, consulte Novo guia de treinamento de registro de aplicativo do portal do Azure
Próximas etapas
Para saber mais sobre o Spring e o Azure, prossiga para o centro de documentação do Spring on Azure.