Skip to content

andersonbritogarcia/auth-azure

Repository files navigation

Demo de uma API com Spring Boot e com Autenticação Azure Directory

Funcionalidades

Este projeto é uma API desenvolvida com Spring Boot que oferece as seguintes funcionalidades:

Requisitos

  • Java 21
  • Banco de Dados PostgreSQL ou Docker Compose para executar o banco de dados em um contêiner.

Script de Inicialização

O script data.sql localizado em src/main/resources/data.sql é executado automaticamente no início da aplicação, criando a estrutura do banco de dados e registros de teste.

Observações

  • Com a aplicação em execução, você pode acessar a documentação da API via Swagger UI.
  • Ao acessar o Swagger, você será redirecionado para a página de login do Azure Directory para autenticação.
  • Após a autenticação, você poderá interagir com os endpoints da API.
  • Caso deseje exibir os grupos que usuário pertence, você pode alterar o valor do parâmetro show.user.groups para true no arquivo application.yml. Dessa forma ao iniciar a aplicação, os grupos do usuário autenticado serão logados no console. Requer permissões de leitura de grupos no Azure Directory.
  • Exemplo de exibição dos grupos do usuário autenticado: Exemplo de saída dos grupos

Executando o Projeto

Com PostgreSQL

  1. Certifique-se de ter o PostgreSQL instalado e em execução.
  2. Configure as credenciais do banco de dados no arquivo application.yml.
  3. Defina as variáveis de ambiente necessárias para a autenticação com o Azure Directory:
    • CLIENT_ID
    • TENANT_ID
    • CLIENT_SECRET
  4. Execute a aplicação pela sua IDE de desenvolvimento ou compile e execute a aplicação com o Maven:
    ./mvnw clean install
    ./mvnw spring-boot:run

Com Docker Compose

  1. Certifique-se de ter o Docker e o Docker Compose instalados.
  2. Execute o comando abaixo para iniciar os serviços:
    docker-compose up

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages