0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-10 23:36:14 -05:00
ghost/core/server/services/auth/members/index.js

41 lines
1.2 KiB
JavaScript
Raw Normal View History

const jwt = require('express-jwt');
const membersService = require('../../members');
const labs = require('../../labs');
const config = require('../../../config');
let UNO_MEMBERINO;
module.exports = {
get authenticateMembersToken() {
if (!labs.isSet('members')) {
return function (req, res, next) {
return next();
};
}
if (!UNO_MEMBERINO) {
UNO_MEMBERINO = jwt({
credentialsRequired: false,
requestProperty: 'member',
audience: config.get('url'),
issuer: config.get('url'),
algorithm: 'RS512',
secret: membersService.api.publicKey,
getToken(req) {
if (!req.get('authorization')) {
return null;
}
const [scheme, credentials] = req.get('authorization').split(/\s+/);
if (scheme !== 'GhostMembers') {
return null;
}
return credentials;
}
});
}
return UNO_MEMBERINO;
}
};