Mercurial > hg > nginx-site
changeset 2519:1cd0abf8f1e5
Updated JWT example in njs.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 31 Mar 2020 13:42:53 +0100 |
parents | b4f57de67730 |
children | 3ca5edd3ada3 |
files | xml/en/docs/njs/examples.xml xml/ru/docs/njs/examples.xml |
diffstat | 2 files changed, 30 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ <article name="Examples" link="/en/docs/njs/examples.html" lang="en" - rev="9"> + rev="10"> <section id="helloword" name="Hello World"> @@ -183,11 +183,15 @@ <para> <path>hs_jwt.js</path>: <example> -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); } </example> </para>
--- 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 @@ <article name="Примеры использования" link="/ru/docs/njs/examples.html" lang="ru" - rev="9"> + rev="10"> <section id="helloword" name="Hello World"> @@ -183,11 +183,15 @@ <para> <path>hs_jwt.js</path>: <example> -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); } </example> </para>