You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
465 B
JavaScript
31 lines
465 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
module.exports = {
|
|
sync: true,
|
|
|
|
inputs: {
|
|
token: {
|
|
type: 'string',
|
|
required: true,
|
|
},
|
|
},
|
|
|
|
exits: {
|
|
invalidToken: {},
|
|
},
|
|
|
|
fn(inputs) {
|
|
let payload;
|
|
try {
|
|
payload = jwt.verify(inputs.token, sails.config.session.secret);
|
|
} catch (error) {
|
|
throw 'invalidToken';
|
|
}
|
|
|
|
return {
|
|
subject: payload.sub,
|
|
issuedAt: new Date(payload.iat * 1000),
|
|
};
|
|
},
|
|
};
|