Skip to content

PHP API para livraria com controle de acesso usando RBAC(Role Based Acess Control) e Autenticação por token JWT

Notifications You must be signed in to change notification settings

CodeShark37/PHP-Library-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP-Library-API

Licença
Último Commit


Português

Descrição

API RESTful em PHP para gestão de livraria, com autenticação JWT e controle de acesso baseado em papéis/permissões (RBAC).

Funcionalidades

  • Autenticação de usuário → emissão de token JWT.
  • Verificação de token nas requisições para endpoints protegidos.
  • Papéis (roles) e permissões associadas.
  • Endpoints CRUD para entidades como Livros, Usuários, etc.

Estrutura do Projeto

├── config/ → arquivos de configuração (ex: chave JWT, credenciais BD, definições de roles/permissões)
├── controller/ → lógica dos endpoints / controladores
├── entities/ → modelos / entidades de dados
├── models/ → acesso e manipulação de dados no banco
├── util/ → funções utilitárias (JWT, verificação de permissão, etc.)
├── index.php → ponto de entrada da API
├── testRole.php → script para testar roles / permissões
├── bookstore.sql → script SQL para criar base e tabelas iniciais
└── README.md → documentação do projeto

Dependências

  • PHP >= 7.4 (ou versão que o projeto suporte)
  • Extensões PHP: pdo (mais driver do SGBD, ex: pdo_mysql), openssl ou similar para JWT
  • Composer (se estiver usando pacotes externos)
  • Servidor web local ou uso do servidor embutido do PHP

Instalação

git clone https://github.com/CodeShark37/PHP-Library-API.git
cd PHP-Library-API

Se houver composer.json

composer install

Configuração

  • Definir chave secreta JWT no(s) arquivo(s) de configuração

  • Ajustar credenciais do banco de dados (host, usuário, senha, nome do DB)

  • Definir roles/permissões iniciais

  • Possivelmente configurar tempo de expiração do token JWT

Uso

  • Fazer login → receber token JWT

  • Enviar requisições protegidas incluindo no cabeçalho HTTP:

Authorization: Bearer <seu_token_jwt>

Teste

  • Executar testRole.php para validar funcionamento de roles / permissões

  • Usar Postman ou cURL para testar os endpoints:

curl -X POST http://localhost:8000/login \
  -H "Content-Type: application/json" \
  -d '{"username":"usuario","password":"senha"}'

Em seguida, usar o token para acessar outros endpoints protegidos.

Banco de Dados

  • Usar bookstore.sql para criar as tabelas iniciais necessárias

  • Garantir que as credenciais definidas na configuração batem com o ambiente local

Contribuição

  • Contribuições são bem-vindas! Siga:

  • Fazer fork

  • Criar branch para a feature ou correção (git checkout -b minha-feature)

  • Fazer commits descritivos

  • Abrir pull request explicando as mudanças

  • Testar antes de submeter

Licença

About

PHP API para livraria com controle de acesso usando RBAC(Role Based Acess Control) e Autenticação por token JWT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages