Git Product home page Git Product logo

devise-auth-testing's Introduction

Sencillo test de prueba tipo blog (articulos y usuarios, en una relación one-to-many) del funcionamiento de la gema devise-auth-token cómo método de autenticación para APIs en ruby on rails 6.1

Para el desarrollo de éste código seguí la guía brindada por: https://www.youtube.com/channel/UCr9w-w_dwEK1pXp1Rec1K6g

Actualmente tengo el repositorio hosteado en Heroku y pueden testearlo si así lo desean: https://devise-auth-testing.herokuapp.com más abajo incluiré los endpoints, pero están todos detallados en la documentación.

La gema resulta muy útil y completa, tiene todas las funciones que una API podría necesitar para realizar la autenticacion de sus clientes, por ejemplo creación de cuentas, login, logout, validación de token, token refresh, invalidación de token después de cada request, confirmación de cuenta vía correo electrónico, cambio de contraseña, configuración de nickname de usuario y más. Su implementación es muy sencilla y la guía provista anteriormente detalla cada paso con precisión, la recomiendo 100% !

Acepta request tipo POST, parametros: email, password y password_confirmation. Al enviar el request se crea una nueva cuenta que deberá ser confirmada vía mail antes de poder ser utilizada.

Acepta request tipo POST, parametros: email, password. Antes de poder utilizar éste endpoint deberemos haber confirmado la cuenta vía mail, de otra manera recibiremos un error. Aquí recibiremos información acerca del usuario creado en el body, y recibiremos tres parametros muy importantes en Headers, uid(mail), client y access-token, los cuales utilizaremos luego para validar nuestra identidad.

Para crear un nuevo articulo deberemos enviar vía header nuestro access-token, client y uid. Luego en el body debemos enviar los parametros title y body. Con ésto crearemos un nuevo articulo perteneciente a nuestro usuario. Para ver éste articulo realizaremos un GET en la misma dirección.

Pueden seguir revisando los endpoints posibles en: https://devise-token-auth.gitbook.io/devise-token-auth/usage la documentación está muy clara y precisa.

Por ultimo, adjunto algunas imágenes de la API siendo testeada en HEROKU.

  • Creando una cuenta:

creando cuenta post

  • Sign in SIN confirmar la cuenta por correo:

sign in sin confirmar cuenta

  • Email de confirmación:

confirmation email

  • Sign in con la cuenta ya creada (Body y headers)

sign_in success

sign_in success headers

  • Validacion de token

validate_token

  • Creando un articulo con nuestro nuevo usuario (con uid, client y access-token en headers, y 'body' y 'title' como parametros de articulo en el body)

succesful articles post with headers

Como podemos ver, la gema resulta muy poderosa para una API y puede ser utilizada en producción muy fácilmente, brinda una seguridad robusta y una configuración sencilla.

devise-auth-testing's People

Contributors

mirkoffcito 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.