Files
node-jwks-rsa/tests/ts-definitions.tests.ts
T

44 lines
1.0 KiB
TypeScript

import nock from 'nock';
import * as jwksRsaType from 'jwks-rsa';
import {expect} from 'chai';
const jwksRsa: typeof jwksRsaType = require('../src');
describe('typescript definition', () => {
const jwksHost = 'http://my-authz-server';
const givenPublicCertOnAuthzServer = (kid: string, cert: string) => {
nock(jwksHost)
.get('/.well-known/jwks.json')
.reply(200, {
keys: [
{
alg: 'RS256',
kty: 'RSA',
use: 'sig',
x5c: [cert],
kid
}
]
});
}
describe('hapiJwt2KeyAsync', () => {
it('should return a secret provider function', async () => {
givenPublicCertOnAuthzServer('someKeyId', 'pk1');
const secretProvider = jwksRsa.hapiJwt2KeyAsync({
jwksUri: `${jwksHost}/.well-known/jwks.json`
});
const { key } = await secretProvider({
header: {
'typ': 'JWT',
'alg': 'RS256',
'kid': 'someKeyId'
}
});
expect(key).to.contain('pk1');
});
});
});