1
1
import * as jwksRsaType from '../index' ;
2
2
import { expect } from 'chai' ;
3
+ import expressjwt6 from "express-jwt" ;
4
+ import { expressjwt as expressjwt7 , GetVerificationKey } from "express-jwt-v7" ;
3
5
const { jwksEndpoint } = require ( '../tests/mocks/jwks' ) ;
4
6
const { publicKey } = require ( '../tests/mocks/keys' ) ;
7
+ const { x5cSingle } = require ( '../tests/keys.js' ) ;
5
8
const jwksRsa : typeof jwksRsaType = require ( '../src' ) ;
6
9
7
10
describe ( 'typescript definition' , ( ) => {
8
- const jwksHost = 'http://my-authz-server ' ;
11
+ const jwksHost = 'http://localhost ' ;
9
12
10
13
describe ( 'hapiJwt2KeyAsync' , ( ) => {
11
14
it ( 'should return a secret provider function' , async ( ) => {
@@ -24,24 +27,31 @@ describe('typescript definition', () => {
24
27
} ) ;
25
28
} ) ;
26
29
27
- describe ( 'getKeysInterceptor' , async ( ) => {
28
- const keySetResponse = {
29
- keys : [
30
- {
31
- alg : 'RS256' ,
32
- kty : 'RSA' ,
33
- use : 'sig' ,
34
- kid : 'NkFCNEE1NDFDNTQ5RTQ5OTE1QzRBMjYyMzY0NEJCQTJBMjJBQkZCMA'
35
- }
36
- ]
37
- } ;
38
-
30
+ it ( 'getKeysInterceptor' , async ( ) => {
39
31
const client = new jwksRsa . JwksClient ( {
40
32
jwksUri : `${ jwksHost } /.well-known/jwks.json` ,
41
- getKeysInterceptor : ( ) => Promise . resolve ( keySetResponse . keys )
33
+ getKeysInterceptor : ( ) => Promise . resolve ( x5cSingle . keys )
42
34
} ) ;
43
35
44
36
const key = await client . getSigningKey ( 'NkFCNEE1NDFDNTQ5RTQ5OTE1QzRBMjYyMzY0NEJCQTJBMjJBQkZCMA' ) ;
45
37
expect ( key . kid ) . to . equal ( 'NkFCNEE1NDFDNTQ5RTQ5OTE1QzRBMjYyMzY0NEJCQTJBMjJBQkZCMA' ) ;
46
38
} ) ;
39
+
40
+ it ( 'Types-Only Validation with express-jwt' , ( ) => {
41
+ expressjwt6 ( {
42
+ algorithms : [ "RS256" ] ,
43
+ secret : jwksRsa . expressJwtSecret ( {
44
+ cache : true ,
45
+ jwksUri : `https://my-authz-server/.well-known/jwks.json`
46
+ } )
47
+ } ) ;
48
+
49
+ expressjwt7 ( {
50
+ algorithms : [ 'RS256' ] ,
51
+ secret : jwksRsa . expressJwtSecret ( {
52
+ cache : true ,
53
+ jwksUri : `https://my-authz-server/.well-known/jwks.json`
54
+ } ) as GetVerificationKey
55
+ } ) ;
56
+ } )
47
57
} ) ;
0 commit comments