Este é um projeto em PHP desenvolvido para fins de estudo. Ele oferece um serviço de autenticação usando JWT. Essa API oferece a possibilidade de autenticar tanto com email e senha como tambem com login social.
Antes de iniciar a instalação e execução do projeto, certifique-se de que seu ambiente atende aos seguintes requisitos:
- PHP >= 7.4
Siga os passos abaixo para configurar e executar o projeto localmente:
-
Clone o repositório para o seu ambiente de desenvolvimento:
git clone https://github.com/jonathancmatos/api-tokenization-php.git
-
Navegue até o diretório do projeto:
cd api-tokenization-php
-
Instale as dependências usando [compositor ou outra ferramenta de gerenciamento de dependências]:
composer install
-
Copie o arquivo de configuração e ajuste conforme necessário:
cp config.example.php config.php
-
Execute o servidor embutido do PHP:
php -S localhost:8000
-
Abra o navegador e acesse http://localhost:8000.
Para personalizar o projeto, edite o arquivo config.php
com as configurações específicas do seu ambiente. Para esse projeto foi usado o phpdotenv
para guardar e acessar variaveis de ambiente no arquivo .env.
O projeto requer um banco de dados. Siga os passos abaixo para cria-lo:
-
Crie o Banco de Dados:
-
Execute o seguinte comando SQL no seu sistema de gerenciamento de banco de dados (substitua
nome_do_banco
pelo nome desejado):CREATE DATABASE nome_do_banco;
-
-
Crie a tabela users e seus atributos:
create table users ( id int auto_increment primary key, name varchar(255) not null, email varchar(255) not null, passwd varchar(255) null, phone varchar(255) null, token mediumtext null, id_google varchar(255) null, updated_at timestamp default current_timestamp() not null, created_at timestamp default current_timestamp() not null );
A API deste projeto oferece os principais endpoints:
- Método: POST
- Descrição: Criar um nova conta usando email e senha
- Exemplo de Uso:
/api/signup
- Método: POST
- Descrição: Logar com a conta usando email e senha
- Exemplo de Uso:
/api/signin
- Método: POST
- Descrição: Logar com a conta usando email e senha
- Exemplo de Uso:
/api/google-sign-in
- Método: GET
- Descrição: Retorna os dados do usuário logado usando o access_token como referencia.
- Exemplo de Uso:
/api/current-user
- Método: POST
- Descrição: Realiza logout da conta.
- Exemplo de Uso:
/api/logout
- Método: POST
- Descrição: Atualiza o tempo de vida do access_token
- Exemplo de Uso:
/api/refresh-token
Este projeto está licenciado sob a licença [especificar a licença, por exemplo, MIT] - veja o arquivo LICENSE para mais detalhes.
Para mais informações, entre em contato com via [[email protected]].