# HG changeset patch # User Yaroslav Zhuravlev # Date 1585658573 -3600 # Node ID 1cd0abf8f1e5a47588c3a5d2b0a6c4f1df4d98e1 # Parent b4f57de677302ccd6376a73515960a8020c0ba6e Updated JWT example in njs. diff -r b4f57de67730 -r 1cd0abf8f1e5 xml/en/docs/njs/examples.xml --- a/xml/en/docs/njs/examples.xml Tue Mar 24 10:30:09 2020 +0000 +++ b/xml/en/docs/njs/examples.xml Tue Mar 31 13:42:53 2020 +0100 @@ -9,7 +9,7 @@
+ rev="10">
@@ -183,11 +183,15 @@ hs_jwt.js: -function create_hs256_jwt(claims, key, valid) { - var header = { "typ" : "JWT", "alg" : "HS256", "exp" : Math.floor(Date.now()/1000) + valid }; +function generate_hs256_jwt(claims, key, valid) { + var header = { typ: "JWT", + alg: "HS256", + exp: Math.floor(Date.now()/1000) + valid }; - var s = JSON.stringify(header).toBytes().toString('base64url') + '.' - + JSON.stringify(claims).toBytes().toString('base64url'); + var s = [header, claims].map(JSON.stringify) + .map(v=>v.toBytes()) + .map(v=>v.toString('base64url')) + .join('.'); var h = require('crypto').createHmac('sha256', key); @@ -196,14 +200,14 @@ function jwt(r) { var claims = { - "iss" : "nginx", - "sub" : "alice", - "foo" : 123, - "bar" : "qq", - "zyx" : false + iss: "nginx", + sub: "alice", + foo: 123, + bar: "qq", + zyx: false }; - return create_hs256_jwt(claims, 'foo', 600); + return generate_hs256_jwt(claims, 'foo', 600); } diff -r b4f57de67730 -r 1cd0abf8f1e5 xml/ru/docs/njs/examples.xml --- a/xml/ru/docs/njs/examples.xml Tue Mar 24 10:30:09 2020 +0000 +++ b/xml/ru/docs/njs/examples.xml Tue Mar 31 13:42:53 2020 +0100 @@ -9,7 +9,7 @@
+ rev="10">
@@ -183,11 +183,15 @@ hs_jwt.js: -function create_hs256_jwt(claims, key, valid) { - var header = { "typ" : "JWT", "alg" : "HS256", "exp" : Math.floor(Date.now()/1000) + valid }; +function generate_hs256_jwt(claims, key, valid) { + var header = { typ: "JWT", + alg: "HS256", + exp: Math.floor(Date.now()/1000) + valid }; - var s = JSON.stringify(header).toBytes().toString('base64url') + '.' - + JSON.stringify(claims).toBytes().toString('base64url'); + var s = [header, claims].map(JSON.stringify) + .map(v=>v.toBytes()) + .map(v=>v.toString('base64url')) + .join('.'); var h = require('crypto').createHmac('sha256', key); @@ -196,14 +200,14 @@ function jwt(r) { var claims = { - "iss" : "nginx", - "sub" : "alice", - "foo" : 123, - "bar" : "qq", - "zyx" : false + iss: "nginx", + sub: "alice", + foo: 123, + bar: "qq", + zyx: false }; - return create_hs256_jwt(claims, 'foo', 600); + return generate_hs256_jwt(claims, 'foo', 600); }