SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
Vamos a crear un JWT Token con Node.js para ver un ejemplo práctico del artículo anterior
de JSON Web Tokens . En este caso he elegido Javascript ya que la implementación es muy
sencilla. Lo primero que tendremos que hacer es instalar varias librerías de Node.
npm install express
npm install body-parser
npm install jsonwebtoken
npm install express-jwt
JWT Token y Node
Es momento de construir nuestra aplicación con Node.js:
var express = require('express');
var bodyParser=require('body-parser');
var jwt=require('jsonwebtoken');
var expressJwt=require('express-jwt');
var app = express();
var jwtClave="laclave_de_cecilio";
app.use(express.static('publica'));
app.use(bodyParser.json());
app.use(expressJwt({secret:jwtClave}).unless({path: ["/login"]}));
var usuario= {
nombre:"cecilio",
clave:"cecilio"
}
var noticias = [{
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
id: 1,
titulo: "noticia 1"
}];
app.get('/noticias', function(req, res) {
res.send(noticias);
});
app.post("/login",function(request,response) {
if (request.body.nombre==usuario.nombre ||
request.body.clave==usuario.clave) {
var token=jwt.sign({
usuario:"cecilio"
},jwtClave);
response.send(token);
}else {
response.status(401).end("usuario incorrecto")
}
});
app.listen(3000, function() {
console.log('aplicacion en el puerto 3000!');
});
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
No es mucho código pero vamos a explicarlo. En primer lugar lo que más destaca es que
disponemos de dos URL de acceso. Una es /login que servirá para logearnos en el servidor
la otra es /noticias que nos devuelve una noticia.
Ambas URL están protegidas por el módulo de express-jwt que se registra previamente y
que hace la función de filtro o interceptor:
var jwtClave="laclave_de_cecilio";
app.use(expressJwt({secret:jwtClave}).unless({path: ["/login"] }));
Este módulo protege todas las URL salvo la url de Login y los recursos estáticos :
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
Cada vez que nosotros solicitemos la url de noticias nos devolverá acceso no permitido ya
que no tenemos un token:
Así pues tenemos que construirnos una aplicación cliente que envíe una petición POST al
servidor a la URL de Login y pase usuario “cecilio” y clave “cecilio”, esto nos devolverá un
token:
app.post("/login",function(request,response) {
if (request.body.nombre==usuario.nombre ||
request.body.clave==usuario.clave) {
var token=jwt.sign({
usuario:"cecilio"
},jwtClave);
response.send(token);
}else {
response.status(401).end("usuario incorrecto")
}
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
});
Vamos a construir un documento html en la carpeta pública del servidor que se apoye en
jQuery y se encargue de realizar tanto la petición de login como la de las noticias:
<body>
<input type="text" id="nombre" />
<input type="text" id="clave" />
<input type="button" id="login" value="login" />
<input type="button" id="noticias" value="noticias" />
</body>
Unicamente tenemos dos cajas de texto y dos botones (login,noticias) .
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
El primer botón realiza una petición Ajax al servidor y nos devuelve un token. El segundo
botón solicita las noticias. Vamos a ver el código de JavaScript creado con jQuery que es
algo que todos entendemos.
$(document).ready(function() {
var token = "";
$("#login").click(function() {
var usuario = {
nombre: $("#nombre").val(),
clave: $("#clave").val()
};
$.ajax({
url: 'login',
type: 'post',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(usuario),
success: function(data) {
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
token=data;
},
error:function(error) {
console.log(error);
}
});
});
$("#noticias").click(function() {
$.ajax({
url: 'noticias',
type: 'get',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(data) {
console.log(data);
},
beforeSend: function(xhr) {
console.log(token);
xhr.setRequestHeader("Accept",
"application/json");
xhr.setRequestHeader("Authorization", "Bearer
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
"+token);
},
});
});
});
El código no es muy complicado y únicamente gestiona dos eventos “login” y “noticias” . El
primero de ellos solicita un token al servidor realizando una petición AJAX y enviando los
datos en JSON. Cuando recibe la respuesta almacena el token en una variable global. El
evento de noticias hace una petición al servidor solicitando las noticias y pasando el token
que acabamos de obtener como parámetro en la cabecera.
Creando un JWT token con Node.js y Express
www.arquitecturajava.com
De esta forma podremos acceder a los datos solicitando primero el JWT token para despues
imprimirlos en la consola:
Otros artículos relacionados:
JSON Web Tokens
JSON JQuery y Templates
Arquitecturas Web Abiertas vs Cerradas

Weitere ähnliche Inhalte

Was ist angesagt?

Creando y configurando un data source a mysql en glassfish4
Creando y configurando un data source a mysql en glassfish4Creando y configurando un data source a mysql en glassfish4
Creando y configurando un data source a mysql en glassfish4Ricardo P.
 
Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresqlCarlos Anrango
 
Connection Pool + Java + MySQL
Connection Pool + Java + MySQLConnection Pool + Java + MySQL
Connection Pool + Java + MySQLChristian Mora
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcatjubacalo
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Gabriela Bosetti
 

Was ist angesagt? (9)

Creando y configurando un data source a mysql en glassfish4
Creando y configurando un data source a mysql en glassfish4Creando y configurando un data source a mysql en glassfish4
Creando y configurando un data source a mysql en glassfish4
 
Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresql
 
Connection Pool + Java + MySQL
Connection Pool + Java + MySQLConnection Pool + Java + MySQL
Connection Pool + Java + MySQL
 
Reportes
ReportesReportes
Reportes
 
Autenticación de usuarios usando Kerberos
Autenticación de usuarios usando KerberosAutenticación de usuarios usando Kerberos
Autenticación de usuarios usando Kerberos
 
¿Qué es Kerberos?
¿Qué es Kerberos?¿Qué es Kerberos?
¿Qué es Kerberos?
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 
Trabajo de conecction
Trabajo de conecctionTrabajo de conecction
Trabajo de conecction
 

Ähnlich wie Creando un jwt token con node.js y express

Ähnlich wie Creando un jwt token con node.js y express (20)

Unidad iii ajax
Unidad iii ajaxUnidad iii ajax
Unidad iii ajax
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Manual De Ajax En Espanol
Manual De Ajax En EspanolManual De Ajax En Espanol
Manual De Ajax En Espanol
 
Unidad3ajax
Unidad3ajaxUnidad3ajax
Unidad3ajax
 
Jquery
JqueryJquery
Jquery
 
Ajax
AjaxAjax
Ajax
 
10. consumiendo datos
10. consumiendo datos10. consumiendo datos
10. consumiendo datos
 
Ajax
AjaxAjax
Ajax
 
Tema4 apartado4.2
Tema4 apartado4.2Tema4 apartado4.2
Tema4 apartado4.2
 
Clase 5 AJAX - Desarrollo de aplicaciones móviles
Clase 5  AJAX - Desarrollo de aplicaciones móvilesClase 5  AJAX - Desarrollo de aplicaciones móviles
Clase 5 AJAX - Desarrollo de aplicaciones móviles
 
Ajax Huancayo
Ajax HuancayoAjax Huancayo
Ajax Huancayo
 
Dar lab1819
Dar lab1819Dar lab1819
Dar lab1819
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo Toolkit
 
Como usar ajax con jquery
Como usar ajax con jqueryComo usar ajax con jquery
Como usar ajax con jquery
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 

Kürzlich hochgeladen

Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)esmerling14
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALPamelaGranda5
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasPaulina Cargua
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfElenaNagera
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfJhonCongoraQuispe
 
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargar
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargarMECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargar
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargarAdrielQuispeLpez
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEfrain Yungan
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfjhorbycoralsanchez
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfDanielAlejandroAguir2
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxOSCARADRIANMEDINADUR
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxKeylaArlethTorresOrt
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptxHenryApaza12
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfautomatechcv
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalaciónLuisLobatoingaruca
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptSANTOS400018
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variadoEsthefaniaAuquilla1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalamador030809
 

Kürzlich hochgeladen (20)

Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicas
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
 
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargar
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargarMECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargar
MECANICA DE FLUIDOS 1 mecánica de fluidos en documento para descargar
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdf
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptx
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx04-circuitos-comparadores de amplificadores operacionales.pptx
04-circuitos-comparadores de amplificadores operacionales.pptx
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalación
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.ppt
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variado
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
 

Creando un jwt token con node.js y express

  • 1. Creando un JWT token con Node.js y Express www.arquitecturajava.com Vamos a crear un JWT Token con Node.js para ver un ejemplo práctico del artículo anterior de JSON Web Tokens . En este caso he elegido Javascript ya que la implementación es muy sencilla. Lo primero que tendremos que hacer es instalar varias librerías de Node. npm install express npm install body-parser npm install jsonwebtoken npm install express-jwt JWT Token y Node Es momento de construir nuestra aplicación con Node.js: var express = require('express'); var bodyParser=require('body-parser'); var jwt=require('jsonwebtoken'); var expressJwt=require('express-jwt'); var app = express(); var jwtClave="laclave_de_cecilio"; app.use(express.static('publica')); app.use(bodyParser.json()); app.use(expressJwt({secret:jwtClave}).unless({path: ["/login"]})); var usuario= { nombre:"cecilio", clave:"cecilio" } var noticias = [{
  • 2. Creando un JWT token con Node.js y Express www.arquitecturajava.com id: 1, titulo: "noticia 1" }]; app.get('/noticias', function(req, res) { res.send(noticias); }); app.post("/login",function(request,response) { if (request.body.nombre==usuario.nombre || request.body.clave==usuario.clave) { var token=jwt.sign({ usuario:"cecilio" },jwtClave); response.send(token); }else { response.status(401).end("usuario incorrecto") } }); app.listen(3000, function() { console.log('aplicacion en el puerto 3000!'); });
  • 3. Creando un JWT token con Node.js y Express www.arquitecturajava.com No es mucho código pero vamos a explicarlo. En primer lugar lo que más destaca es que disponemos de dos URL de acceso. Una es /login que servirá para logearnos en el servidor la otra es /noticias que nos devuelve una noticia. Ambas URL están protegidas por el módulo de express-jwt que se registra previamente y que hace la función de filtro o interceptor: var jwtClave="laclave_de_cecilio"; app.use(expressJwt({secret:jwtClave}).unless({path: ["/login"] })); Este módulo protege todas las URL salvo la url de Login y los recursos estáticos :
  • 4. Creando un JWT token con Node.js y Express www.arquitecturajava.com Cada vez que nosotros solicitemos la url de noticias nos devolverá acceso no permitido ya que no tenemos un token: Así pues tenemos que construirnos una aplicación cliente que envíe una petición POST al servidor a la URL de Login y pase usuario “cecilio” y clave “cecilio”, esto nos devolverá un token: app.post("/login",function(request,response) { if (request.body.nombre==usuario.nombre || request.body.clave==usuario.clave) { var token=jwt.sign({ usuario:"cecilio" },jwtClave); response.send(token); }else { response.status(401).end("usuario incorrecto") }
  • 5. Creando un JWT token con Node.js y Express www.arquitecturajava.com }); Vamos a construir un documento html en la carpeta pública del servidor que se apoye en jQuery y se encargue de realizar tanto la petición de login como la de las noticias: <body> <input type="text" id="nombre" /> <input type="text" id="clave" /> <input type="button" id="login" value="login" /> <input type="button" id="noticias" value="noticias" /> </body> Unicamente tenemos dos cajas de texto y dos botones (login,noticias) .
  • 6. Creando un JWT token con Node.js y Express www.arquitecturajava.com El primer botón realiza una petición Ajax al servidor y nos devuelve un token. El segundo botón solicita las noticias. Vamos a ver el código de JavaScript creado con jQuery que es algo que todos entendemos. $(document).ready(function() { var token = ""; $("#login").click(function() { var usuario = { nombre: $("#nombre").val(), clave: $("#clave").val() }; $.ajax({ url: 'login', type: 'post', contentType: 'application/json; charset=utf-8', data: JSON.stringify(usuario), success: function(data) {
  • 7. Creando un JWT token con Node.js y Express www.arquitecturajava.com token=data; }, error:function(error) { console.log(error); } }); }); $("#noticias").click(function() { $.ajax({ url: 'noticias', type: 'get', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(data) { console.log(data); }, beforeSend: function(xhr) { console.log(token); xhr.setRequestHeader("Accept", "application/json"); xhr.setRequestHeader("Authorization", "Bearer
  • 8. Creando un JWT token con Node.js y Express www.arquitecturajava.com "+token); }, }); }); }); El código no es muy complicado y únicamente gestiona dos eventos “login” y “noticias” . El primero de ellos solicita un token al servidor realizando una petición AJAX y enviando los datos en JSON. Cuando recibe la respuesta almacena el token en una variable global. El evento de noticias hace una petición al servidor solicitando las noticias y pasando el token que acabamos de obtener como parámetro en la cabecera.
  • 9. Creando un JWT token con Node.js y Express www.arquitecturajava.com De esta forma podremos acceder a los datos solicitando primero el JWT token para despues imprimirlos en la consola: Otros artículos relacionados: JSON Web Tokens JSON JQuery y Templates Arquitecturas Web Abiertas vs Cerradas