n8n-nodes-base
Version:
Base nodes of n8n
50 lines • 1.56 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GhostAdminApi = void 0;
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
class GhostAdminApi {
name = 'ghostAdminApi';
displayName = 'Ghost Admin API';
documentationUrl = 'ghost';
properties = [
{
displayName: 'URL',
name: 'url',
type: 'string',
default: '',
placeholder: 'http://localhost:3001',
},
{
displayName: 'API Key',
name: 'apiKey',
type: 'string',
typeOptions: { password: true },
default: '',
},
];
async authenticate(credentials, requestOptions) {
const [id, secret] = credentials.apiKey.split(':');
const token = jsonwebtoken_1.default.sign({}, Buffer.from(secret, 'hex'), {
keyid: id,
algorithm: 'HS256',
expiresIn: '5m',
audience: '/v2/admin/',
});
requestOptions.headers = {
...requestOptions.headers,
Authorization: `Ghost ${token}`,
};
return requestOptions;
}
test = {
request: {
baseURL: '={{$credentials.url}}',
url: '/ghost/api/v2/admin/pages/',
},
};
}
exports.GhostAdminApi = GhostAdminApi;
//# sourceMappingURL=GhostAdminApi.credentials.js.map