HigorC / log-in-me-api

šŸ‘„ API para login genĆ©rico de usuĆ”rios

Home Page:https://log-in-me-api.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Log in me (API)

O Log in me permite criar e armazenar usuƔrios de diferentes aplicaƧƵes.

InstalaĆ§Ć£o

Instalar as libs utilizadas no projeto:

pip install flask
pip install pymongo
pip install dnspython
pip install requests

Para rodar

python run.js

Funcionamento

Todas as rotas do Log in me, com exceĆ§Ć£o da rota para verificaĆ§Ć£o de teste (/itWorks) Ć© protegida pelo Locksmith. Por isso as requisiƧƵes devem em seus cabeƧalhos o Header Authorization com um Token JWT gerado pelo Locksmith.

As rotas disponĆ­veis sĆ£o:

  • itWorks[GET] - Rota nĆ£o protegida. Verifica a disponibilidade da aplicaĆ§Ć£o, respondendo uma simples mensagem caso a rota funcione corretamente.
  • create[POST] - Rota protegida. Recebe um objeto contendo o usuĆ”rio a ser criado e a aplicaĆ§Ć£o a qual este faz parte, e o salva no banco de dados. Retorna em caso de sucesso o id do usuĆ”rio gerado.
  • login[POST] - Rota protegida. Recebe um objeto contendo o usuĆ”rio a ser logado e valida se este existe no banco e se a senha informada estĆ” correta.

Fluxo de funcionamento da API

O fluxograma abaixo representa o funcionamento do Log in me em uma situaĆ§Ć£o perfeita.

Fluxo Geral

1, 2. Se uma API qualquer desejar se comunicar com o Log in me, o primeiro passo a se tomar Ć© fazer uma requisiĆ§Ć£o para o Locksmith, lhe pedindo para gerar um Token JWT.

3. Com o Token em mĆ£os, a API Qualquer o irĆ” setar em seu Header Authorization e fazer uma requisiĆ§Ć£o para o Log in me.

4, 5. Antes de realizar qualquer processamento, o Log in me realiza uma chamada ao Locksmith a fim de validar a autenticidade do Token recebido.

6, 7. Uma vez tendo sido validado o Token, o Log in me se comunica com o Banco de Dados MongoDB, verificando, validando e salvando o que for necessƔrio.

8. Por fim a requisiĆ§Ć£o principal (passo 3) Ć© respondida, retornando um objeto diferente conforme o que foi pedido.

About

šŸ‘„ API para login genĆ©rico de usuĆ”rios

https://log-in-me-api.herokuapp.com/


Languages

Language:Python 100.0%