Coder Social home page Coder Social logo

auth-api's Introduction

API de Autenticação

Esse projetoconsiste na criação em uma API RESTful que possibilita a autenticação de usuários.

Features:

  • Cadastro de novo usuário

  • Login de usuário

  • Alteração de senha de usuário

Tech Stack:

  • Javascript
  • NodeJs
  • Express
  • MongoDB

Endpoints:

  • / (GET) : Endpoint de uma página inicial, não contém informações nem funcionamentos;

  • /auth/login (POST) : Esse endpoint é utilizado para realizar o login, ele recebe: E-mail e senha para efetuar o login;

  • /auth/register (POST) : Esse é o endpoint utilizado para realizar o cadastro de um novo usuário. ele recebe: Nome, e-mail, telefone, senha e confirmação de senha para efetuar o cadastro;

  • /user/update/idDoUsuario (PATCH) : Esse é o endpoint responsável por tratar a alteração de senha de um usuário, na url da requisição deve ser passada o id do usuário alvo, como corpo ele recebe: E-mail, a nova senha e a confirmação dessa senha;

  • /user/idDoUsuario (GET) : Esse endpoint só pode ser acessado após efetuar o login na API. Após efetuar o login, poderá ser especificado um id de um usuário na url da requisição e ela vai retornar os dados completos daquele usuário;

Como testar


O deploy dessa API foi realizado no render.com. Ela pode ser acessada na seguinte url: https://auth-tech-test.onrender.com

  1. Para fazer os testes adequadamente, recomendo o uso do Insomnia, basta clicar no link e instalar, sem muitas complicações;

  2. Após isso, já dentro do Insomnia, é preciso criar uma nova Collection, com o nome de sua preferência;

  3. Depois, já dentro da collection criada, podemos definir uma variável de ambiente, que vai conter o link de acesso da API. Para isso, aperte CTRL + E e dentro do corpo de "Base environment" cole o seguinte json:

{
  "base_url": "https://auth-tech-test.onrender.com"
}
  1. Após a criação da variável, clique em close e crie uma nova requisição (HTTP Request) com o método HTTP desejado *cheque a listagem de endpoints para saber qual método cada endpoint usa;

  2. Na url da requisição, utilize a variavel criada digitando _.base_url com o endpoint vindo posteriormente a essa variável, ex: _.base_url/auth/register;

  3. Dependendo do endpoint escolhido, lembre-se de criar um corpo JSON contendo as informações necessárias;

  4. Ao escolher usar o endpoint privado, lembre-se de criar uma conta, realizar o login e copiar o token jwt gerado no login, após isso, clique na aba Auth ao lado do Body e selecione Bearer Token. Quando selecionado, cole o token no campo token e realize a requisição. Lembre-se de passar um id de usuário na url;

Exemplo de requisição de cadastro (_.base_url/auth/register):

{
  "name": "Janet Doe",
  "email": "[email protected]",
  "phone": "988888888",
  "password": "12345678",
  "confirmPassword": "12345678"
}

Exemplo de requisição de login (_.base_url/auth/login):

{
  "email": "[email protected]",
  "password": "12345678"
}

Exemplo de requisição para alterar a senha (_.base_url/user/update/idDoUsuario):

{
  "email": "[email protected]",
  "password": "12345678910",
  "confirmPassword": "12345678910"
}

auth-api's People

Contributors

bellolucas avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.