SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a Creando un jwt token con node.js y express

Similar a 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
 

Último

Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 

Último (20)

Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 

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