Package Exports
- @jc21/cypress-jwt-creation
- @jc21/cypress-jwt-creation/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@jc21/cypress-jwt-creation) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Cypress JWT Creation
Create JWT tokens with ease
Cypress Installation
yarn add @jc21/cypress-jwt-creationThen in your cypress Plugins file:
const {JwtCreation} = require('@jc21/cypress-jwt-creation');
module.exports = (on, config) => {
// ...
on('task', JwtCreation(config));
// ...
return config;
};Cypress Usage
describe('Hit an authenticated endpoint', () => {
it('Should be able to get a response', async function () {
cy.request('/users/me').then($response => {
const token = await cy.task('generateToken', {
privateKey: '/path/to/private.key',
issuer: 'cypress-tester',
algo: 'RS256',
expires: '1 day',
claims: {
capabilities: 'superuser'
}
});
// use token in your requests
});
});
});The Private Key
Due to the fact that this plugin runs on the Cypress Backend, the location of the private key file must be defined as either the full path on disk or relative path to the running of the cypress command. You can define the file location either with an environment variable which can apply to all tests:
config.env.jwtPrivateKey
or within each individial test using the options below. In addition, you can also define the JWT algorithm if different from
the default RS256 with:
config.env.jwtAlgo
Options
| Option | Description | Optional | Default |
|---|---|---|---|
privateKey |
The location of the private key file | true | config.env.jwtPrivateKey |
issuer |
Issuer string | true | "cypress.testing" |
algo |
The request method of the endpoint | true | config.env.jwtAlgo or RS256 |
expires |
English interval of token expiry | true | "1 day" |
claims |
An object of extra claims you might want to set | true | {} |
Compiling Source
yarn install
yarn build
yarn test