mirror of
https://github.com/hanzoai/node-jwks-rsa.git
synced 2026-09-24 17:00:54 +00:00
30 lines
876 B
JavaScript
30 lines
876 B
JavaScript
const { expect } = require('chai');
|
|
|
|
const { retrieveSigningKeys } = require('../src/utils');
|
|
const { x5cSingle } = require('./keys');
|
|
|
|
describe('utils - retrieveSigningKeys', () => {
|
|
it('Ignores keys signed with unsupported algorithms', async () => {
|
|
const es256k = {
|
|
alg: 'ES256K',
|
|
kty: 'EC',
|
|
use: 'sig',
|
|
crv: 'secp256k1',
|
|
x: 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
|
|
y: 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB',
|
|
kid: 'es256k-test'
|
|
};
|
|
|
|
const rsa = x5cSingle.keys[0];
|
|
const jwks = [ es256k, rsa ];
|
|
const keys = await retrieveSigningKeys(jwks);
|
|
|
|
// Unsupported (ES256K) key should be ignored
|
|
expect(keys.find(k => k.kid === 'es256k-test')).to.be.undefined;
|
|
|
|
// Supported RSA key should be resolved.
|
|
expect(keys).to.have.lengthOf(1);
|
|
expect(keys[0].kid).to.equal(rsa.kid);
|
|
});
|
|
});
|