cjwt
Version:
Casstime jwt middleware
53 lines (45 loc) • 1.19 kB
JavaScript
const { expect } = require('chai');
const CJWT = require('../index');
const jwt = require('jsonwebtoken');
describe('cjwt.verify', () => {
it('verify string secret', (done) => {
const secret = 'abc';
const token = jwt.sign({fake: 'fake'}, secret, {
issuer: 'test',
audience: 'test',
subject: 'test:test'
});
const cjwt = new CJWT({
secret,
signOptions: {},
verifyOptions: {
audience: 'test',
subject: 'test:test'
}
});
cjwt.verify(token, {issuer: 'test'}).then((payload) => {
expect(payload.fake).to.eql('fake');
done();
}).catch(done);
});
it('verify function secret', (done) => {
const secret = 'abc';
const token = jwt.sign({fake: 'fake'}, secret, {
issuer: 'test',
audience: 'test',
subject: 'test:test'
});
const cjwt = new CJWT({
secret: () => Promise.resolve(secret),
signOptions: {},
verifyOptions: {
audience: 'test',
subject: 'test:test'
}
});
cjwt.verify(token, {issuer: 'test'}).then((payload) => {
expect(payload.fake).to.eql('fake');
done();
}).catch(done);
});
});