Skip to content

Commit b5aa3d8

Browse files
committed
add tests for invalid jwks
1 parent 38cea99 commit b5aa3d8

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

src/utils.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ function isJwk (key) {
7070
* @returns {Object} The validated options
7171
*
7272
* @throws {TypeError} If JWK is malformed or invalid
73+
* @throws {Error} If JWK has an unsupported key type
7374
* @throws {Error} If options are invalid
7475
*/
7576
function verify (opts) {

test/fixtures/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ const publicKeyJwk = {
5555
n: 'ALq_ejKEGv25YOXiRapjf_1eKEIymgSZeihL1khgFYEZtj7JxSswiSvWia1IxE0uO9_8enwB18heUCrp-mrzcaVrNlc8JTuLfAYthKUltsNJXndjs0fzBQmFF9QYNNDly5nYdJL3pgAR10ji-GbOJzfea6--ybHRup7cpVprZ2ZaH8ksC4xa1wdiRabp5eJ-3he8vLw-GcsnL4vsZfjrjAOqqJi0JnyAxdKiYdEDLf8YeggeKKCuWhculRzkVOYEujKEoCe_GT4apimskXelNK4Qzqu21olcpJLUz3QdV_2JTG0B6J8qmdM9rIe3u6Ja6FHRNRbA4tEncVdmc733_CCD0hk--IELmlOG7qFVKTI0nVw3ycPZuIv5obGcF9fzFFPDqtQLAR3YE5DVWlcBXOmewKiUhlv5sTCkKrKTq_vwQDPKZ8OQQkf0Z2QSXzIwGIkoeq1WLhFlAQS4GViETQDMkcEvDrVsQA3zgbVcJ_H5sPLHIa6PVw9e1XKk3Y5UtTJK-92aA9RmoFmb7kjms9j9D4Z32qUVBdSpG44528sy6X0_DIKL78QUCQyHEWC-aHrV7v_1eazQK9J2uMzAZDzotwK6RafmeGCrpWJkhBv_9teqy5s45VihJB9Tit_Y3XQ6zE4nZcQymPkx4XskAT2eqRX2yhDOdvNYJWI5HkKR',
5656
e: 'AQAB'
5757
}
58+
const invalidJwk = {
59+
kty: 'RS',
60+
n: 'ALq_ejKEGv25YOXiRapjf_1eKEIymgSZeihL1khgFYEZtj7JxSswiSvWia1IxE0uO9_8enwB18heUCrp-mrzcaVrNlc8JTuLfAYthKUltsNJXndjs0fzBQmFF9QYNNDly5nYdJL3pgAR10ji-GbOJzfea6--ybHRup7cpVprZ2ZaH8ksC4xa1wdiRabp5eJ-3he8vLw-GcsnL4vsZfjrjAOqqJi0JnyAxdKiYdEDLf8YeggeKKCuWhculRzkVOYEujKEoCe_GT4apimskXelNK4Qzqu21olcpJLUz3QdV_2JTG0B6J8qmdM9rIe3u6Ja6FHRNRbA4tEncVdmc733_CCD0hk--IELmlOG7qFVKTI0nVw3ycPZuIv5obGcF9fzFFPDqtQLAR3YE5DVWlcBXOmewKiUhlv5sTCkKrKTq_vwQDPKZ8OQQkf0Z2QSXzIwGIkoeq1WLhFlAQS4GViETQDMkcEvDrVsQA3zgbVcJ_H5sPLHIa6PVw9e1XKk3Y5UtTJK-92aA9RmoFmb7kjms9j9D4Z32qUVBdSpG44528sy6X0_DIKL78QUCQyHEWC-aHrV7v_1eazQK9J2uMzAZDzotwK6RafmeGCrpWJkhBv_9teqy5s45VihJB9Tit_Y3XQ6zE4nZcQymPkx4XskAT2eqRX2yhDOdvNYJWI5HkKR',
61+
e: 'AQAB'
62+
}
5863

5964
/**
6065
* @type Object
@@ -71,6 +76,7 @@ const common = {
7176
publicKeyCert,
7277
publicKeyBuffer,
7378
publicKeyJwk,
79+
invalidJwk,
7480
baseUrl,
7581
token,
7682
realmPath,

test/index.verify.jwk.spec.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ const fixtures = require('./fixtures')
44

55
const cfg = helpers.getOptions({ publicKey: fixtures.common.publicKeyJwk })
66

7+
test('registration does fail – invalid JWK', async (t) => {
8+
await t.throws(helpers.getServer(helpers.getOptions({ publicKey: fixtures.common.invalidJwk })))
9+
})
10+
711
test('authentication does succeed', async (t) => {
812
const mockReq = helpers.mockRequest(`bearer ${fixtures.composeJwt('current')}`)
913
const server = await helpers.getServer(cfg)

0 commit comments

Comments
 (0)