@@ -3,21 +3,13 @@ import tokens from '../../../src/editor/default-tokens.js';
33
44import { utf8tob64u , b64utob64 } from 'jsrsasign' ;
55
6- import * as log from 'loglevel' ;
6+ import log from 'loglevel' ;
77
88import { should } from 'chai' ;
99
1010should ( ) ;
1111
12- describe ( 'JWT (logging disabled, enable it for debugging)' , function ( ) {
13- before ( function ( ) {
14- log . disableAll ( ) ;
15- } ) ;
16-
17- after ( function ( ) {
18- log . enableAll ( ) ;
19- } ) ;
20-
12+ describe ( 'JWT' , function ( ) {
2113 it ( 'detects tokens' , function ( ) {
2214 jwt . isToken ( 'skdjf9238ujdhkf.asdfasdf2.sdsdffsfsd' ) . should . be . false ;
2315 jwt . isToken ( 'skdjf9238ujdhkf.asdfasdf2' ) . should . be . false ;
@@ -59,43 +51,50 @@ describe('JWT (logging disabled, enable it for debugging)', function() {
5951 jwt . verify ( tokens . ps384 . token , tokens . ps384 . publicKey ) . should . be . true ;
6052 } ) ;
6153
62- it ( 'fails to verify invalid tokens' , function ( ) {
63- const split = tokens . hs256 . token . split ( '.' ) ;
64- const token = `${ split [ 0 ] } .${ split [ 1 ] } ` ;
65- const token2 = token + '.' ;
66-
67- jwt . verify ( token , tokens . hs256 . secret ) . should . be . false ;
68- jwt . verify ( token2 , tokens . hs256 . secret ) . should . be . false ;
69-
70- jwt . verify ( tokens . hs256 . token , tokens . hs256 . secret + 'sdfasdf' )
71- . should . be . false ;
72- jwt . verify ( tokens . hs256 . token , 'sdfsdf' + tokens . hs256 . secret )
73- . should . be . false ;
74- jwt . verify ( tokens . hs256 . token , 'sdfsdf' ) . should . be . false ;
75-
76- jwt . verify ( tokens . rs256 . token , tokens . rs256 . publicKey . replace ( 'a' , 'b' ) )
77- . should . be . false ;
78-
79- jwt . verify ( tokens . es256 . token , tokens . es256 . publicKey . replace ( 'a' , 'b' ) )
80- . should . be . false ;
81-
82- jwt . verify ( tokens . ps256 . token , tokens . ps256 . publicKey . replace ( 'a' , 'b' ) )
83- . should . be . false ;
84-
85- const header = {
86- typ : 'JWT' ,
87- alg : 'none'
88- } ;
89- const payload = {
90- sub : 'test'
91- } ;
54+ it ( 'fails to verify invalid tokens ' +
55+ '(logging temporarily disabled to hide exceptions)' , function ( ) {
56+ log . disableAll ( ) ;
9257
93- const token3 = `${ utf8tob64u ( JSON . stringify ( header ) ) } .` +
94- `${ utf8tob64u ( JSON . stringify ( payload ) ) } ` ;
95-
96- jwt . verify ( token3 , 'whatever' ) . should . be . false ;
97- jwt . verify ( token3 + '.' , 'whatever' ) . should . be . false ;
98- jwt . verify ( token3 + '.' + split [ 2 ] , 'whatever' ) . should . be . false ;
58+ try {
59+ const split = tokens . hs256 . token . split ( '.' ) ;
60+ const token = `${ split [ 0 ] } .${ split [ 1 ] } ` ;
61+ const token2 = token + '.' ;
62+
63+ jwt . verify ( token , tokens . hs256 . secret ) . should . be . false ;
64+ jwt . verify ( token2 , tokens . hs256 . secret ) . should . be . false ;
65+
66+ jwt . verify ( tokens . hs256 . token , tokens . hs256 . secret + 'sdfasdf' )
67+ . should . be . false ;
68+ jwt . verify ( tokens . hs256 . token , 'sdfsdf' + tokens . hs256 . secret )
69+ . should . be . false ;
70+ jwt . verify ( tokens . hs256 . token , 'sdfsdf' ) . should . be . false ;
71+
72+ jwt . verify ( tokens . rs256 . token , tokens . rs256 . publicKey . replace ( 'a' , 'b' ) )
73+ . should . be . false ;
74+
75+ jwt . verify ( tokens . es256 . token , tokens . es256 . publicKey . replace ( 'a' , 'b' ) )
76+ . should . be . false ;
77+
78+ jwt . verify ( tokens . ps256 . token , tokens . ps256 . publicKey . replace ( 'a' , 'b' ) )
79+ . should . be . false ;
80+
81+ const header = {
82+ typ : 'JWT' ,
83+ alg : 'none'
84+ } ;
85+ const payload = {
86+ sub : 'test'
87+ } ;
88+
89+ const token3 = `${ utf8tob64u ( JSON . stringify ( header ) ) } .` +
90+ `${ utf8tob64u ( JSON . stringify ( payload ) ) } ` ;
91+
92+ jwt . verify ( token3 , 'whatever' ) . should . be . false ;
93+ jwt . verify ( token3 + '.' , 'whatever' ) . should . be . false ;
94+ jwt . verify ( token3 + '.' + split [ 2 ] , 'whatever' ) . should . be . false ;
95+ } finally {
96+ log . enableAll ( ) ;
97+ }
9998 } ) ;
10099
101100 it ( 'signs tokens (HS256)' , function ( ) {
0 commit comments