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 redireciona para a página de entrada do Microsoft Entra quando é acessado anonimamente. A captura de tela a seguir mostra a página de entrada do Microsoft Entra:
Pré-requisitos
Para concluir as etapas neste artigo, você precisa dos seguintes pré-requisitos:
- 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 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 Spring Cloud Azure Bill of Materials (BOM) à
<dependencyManagement>seção.<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.4.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Adicione a dependência de Microsoft Entra do Spring Cloud Azure Starter à
<dependencies>seção.<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. Use esses valores para configurar o arquivo application.properties mais adiante 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 é preenchido automaticamente.
Copie e salve o valor do segredo do cliente para configurar seu arquivo application.properties mais adiante neste tutorial. (Você não pode 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ê modificou o arquivo pom.xml para usar uma versão inicial Microsoft Entra anterior à 3.0.0: em concessão implícita e fluxos híbridos, selecione tokens de ID (usados para fluxos implícitos e híbridos) e selecione Salvar.
Adicionar uma conta de usuário e atribuir uma função de aplicativo Microsoft Entra
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 aplicativo e, em seguida, selecione Criar função de aplicativo. Forneça valores para os campos de formulário, selecione Deseja habilitar essa função de aplicativo?e selecione Aplicar.
Na página Visão geral do diretório do Microsoft Entra, selecione Aplicativos empresariais.
Selecione Todos os aplicativos e selecione o aplicativo ao qual você adicionou a função de aplicativo em uma etapa anterior.
Selecione Usuários e grupos e, em seguida, selecione Adicionar usuário/grupo.
Em Usuários, selecione Nenhum Selecionado. Selecione o usuário criado anteriormente, selecione Selecionar e, em seguida, selecione Atribuir. Se você criou mais de uma função de aplicativo anteriormente, selecione uma função.
Volte para o painel Usuários , selecione o usuário de teste e selecione Redefinir senha. 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.
Vá para 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.enabledHabilita os recursos fornecidos por 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 Maven compilar e iniciar seu aplicativo, abra
http://localhost:8080/Adminem um navegador da Web. Você será solicitado a fornecer um nome de usuário e uma senha.
Nota
Você poderá ser solicitado a alterar sua senha se essa for a primeira entrada para uma nova conta de usuário.
Depois de entrar com êxito, você verá o exemplo de texto "Mensagem de administrador" do controlador.
Resumo
Neste tutorial, você criou um novo aplicativo Web Java usando o Microsoft Entra starter, configurou um novo locatário Microsoft Entra, registrou um novo aplicativo no locatário e configurou seu aplicativo para usar as anotações e classes spring para proteger o aplicativo Web.
Consulte também
- Para obter informações sobre novas opções de interface do usuário, consulte o guia de treinamento de registro do aplicativo New Azure portal.
Próximas etapas
Para saber mais sobre o Spring e o Azure, prossiga para o centro de documentação do Spring on Azure.