O Log in me permite criar e armazenar usuƔrios de diferentes aplicaƧƵes.
Instalar as libs utilizadas no projeto:
pip install flask
pip install pymongo
pip install dnspython
pip install requests
python run.js
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.
O fluxograma abaixo representa o funcionamento do Log in me em uma situaĆ§Ć£o perfeita.
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.