UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

77 lines (76 loc) 6.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto")); const _extractTranslations = require("../../translations/extractTranslations"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const labels = (0, _extractTranslations.extractTranslations)([ 'authentication:enableAPIKey', 'authentication:apiKey' ]); const encryptKey = ({ req, value })=>value ? req.payload.encrypt(value) : null; const decryptKey = ({ req, value })=>value ? req.payload.decrypt(value) : undefined; const _default = [ { name: 'enableAPIKey', type: 'checkbox', admin: { components: { Field: ()=>null } }, defaultValue: false, label: labels['authentication:enableAPIKey'] }, { name: 'apiKey', type: 'text', admin: { components: { Field: ()=>null } }, hooks: { afterRead: [ decryptKey ], beforeChange: [ encryptKey ] }, label: labels['authentication:apiKey'] }, { name: 'apiKeyIndex', type: 'text', admin: { disabled: true }, hidden: true, hooks: { beforeValidate: [ async ({ data, req, value })=>{ if (data.apiKey) { return _crypto.default.createHmac('sha1', req.payload.secret).update(data.apiKey).digest('hex'); } if (data.enableAPIKey === false) { return null; } return value; } ] } } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2Jhc2VGaWVsZHMvYXBpS2V5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEhvb2sgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5cbmNvbnN0IGxhYmVscyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoWydhdXRoZW50aWNhdGlvbjplbmFibGVBUElLZXknLCAnYXV0aGVudGljYXRpb246YXBpS2V5J10pXG5cbmNvbnN0IGVuY3J5cHRLZXk6IEZpZWxkSG9vayA9ICh7IHJlcSwgdmFsdWUgfSkgPT5cbiAgdmFsdWUgPyByZXEucGF5bG9hZC5lbmNyeXB0KHZhbHVlIGFzIHN0cmluZykgOiBudWxsXG5jb25zdCBkZWNyeXB0S2V5OiBGaWVsZEhvb2sgPSAoeyByZXEsIHZhbHVlIH0pID0+XG4gIHZhbHVlID8gcmVxLnBheWxvYWQuZGVjcnlwdCh2YWx1ZSBhcyBzdHJpbmcpIDogdW5kZWZpbmVkXG5cbmV4cG9ydCBkZWZhdWx0IFtcbiAge1xuICAgIG5hbWU6ICdlbmFibGVBUElLZXknLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgRmllbGQ6ICgpID0+IG51bGwsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogbGFiZWxzWydhdXRoZW50aWNhdGlvbjplbmFibGVBUElLZXknXSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdhcGlLZXknLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgY29tcG9uZW50czoge1xuICAgICAgICBGaWVsZDogKCkgPT4gbnVsbCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBob29rczoge1xuICAgICAgYWZ0ZXJSZWFkOiBbZGVjcnlwdEtleV0sXG4gICAgICBiZWZvcmVDaGFuZ2U6IFtlbmNyeXB0S2V5XSxcbiAgICB9LFxuICAgIGxhYmVsOiBsYWJlbHNbJ2F1dGhlbnRpY2F0aW9uOmFwaUtleSddLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2FwaUtleUluZGV4JyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgIH0sXG4gICAgaGlkZGVuOiB0cnVlLFxuICAgIGhvb2tzOiB7XG4gICAgICBiZWZvcmVWYWxpZGF0ZTogW1xuICAgICAgICBhc3luYyAoeyBkYXRhLCByZXEsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICBpZiAoZGF0YS5hcGlLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBjcnlwdG9cbiAgICAgICAgICAgICAgLmNyZWF0ZUhtYWMoJ3NoYTEnLCByZXEucGF5bG9hZC5zZWNyZXQpXG4gICAgICAgICAgICAgIC51cGRhdGUoZGF0YS5hcGlLZXkgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAuZGlnZXN0KCdoZXgnKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGF0YS5lbmFibGVBUElLZXkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbl0gYXMgRmllbGRbXVxuIl0sIm5hbWVzIjpbImxhYmVscyIsImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJlbmNyeXB0S2V5IiwicmVxIiwidmFsdWUiLCJwYXlsb2FkIiwiZW5jcnlwdCIsImRlY3J5cHRLZXkiLCJkZWNyeXB0IiwidW5kZWZpbmVkIiwibmFtZSIsInR5cGUiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiaG9va3MiLCJhZnRlclJlYWQiLCJiZWZvcmVDaGFuZ2UiLCJkaXNhYmxlZCIsImhpZGRlbiIsImJlZm9yZVZhbGlkYXRlIiwiZGF0YSIsImFwaUtleSIsImNyeXB0byIsImNyZWF0ZUhtYWMiLCJzZWNyZXQiLCJ1cGRhdGUiLCJkaWdlc3QiLCJlbmFibGVBUElLZXkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYUE7OztlQUFBOzs7K0RBYm1CO3FDQUlpQjs7Ozs7O0FBRXBDLE1BQU1BLFNBQVNDLElBQUFBLHdDQUFtQixFQUFDO0lBQUM7SUFBK0I7Q0FBd0I7QUFFM0YsTUFBTUMsYUFBd0IsQ0FBQyxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUMzQ0EsUUFBUUQsSUFBSUUsT0FBTyxDQUFDQyxPQUFPLENBQUNGLFNBQW1CO0FBQ2pELE1BQU1HLGFBQXdCLENBQUMsRUFBRUosR0FBRyxFQUFFQyxLQUFLLEVBQUUsR0FDM0NBLFFBQVFELElBQUlFLE9BQU8sQ0FBQ0csT0FBTyxDQUFDSixTQUFtQks7TUFFakQsV0FBZTtJQUNiO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFlBQVk7Z0JBQ1ZDLE9BQU8sSUFBTTtZQUNmO1FBQ0Y7UUFDQUMsY0FBYztRQUNkQyxPQUFPaEIsTUFBTSxDQUFDLDhCQUE4QjtJQUM5QztJQUNBO1FBQ0VVLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFlBQVk7Z0JBQ1ZDLE9BQU8sSUFBTTtZQUNmO1FBQ0Y7UUFDQUcsT0FBTztZQUNMQyxXQUFXO2dCQUFDWDthQUFXO1lBQ3ZCWSxjQUFjO2dCQUFDakI7YUFBVztRQUM1QjtRQUNBYyxPQUFPaEIsTUFBTSxDQUFDLHdCQUF3QjtJQUN4QztJQUNBO1FBQ0VVLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xRLFVBQVU7UUFDWjtRQUNBQyxRQUFRO1FBQ1JKLE9BQU87WUFDTEssZ0JBQWdCO2dCQUNkLE9BQU8sRUFBRUMsSUFBSSxFQUFFcEIsR0FBRyxFQUFFQyxLQUFLLEVBQUU7b0JBQ3pCLElBQUltQixLQUFLQyxNQUFNLEVBQUU7d0JBQ2YsT0FBT0MsZUFBTSxDQUNWQyxVQUFVLENBQUMsUUFBUXZCLElBQUlFLE9BQU8sQ0FBQ3NCLE1BQU0sRUFDckNDLE1BQU0sQ0FBQ0wsS0FBS0MsTUFBTSxFQUNsQkssTUFBTSxDQUFDO29CQUNaO29CQUNBLElBQUlOLEtBQUtPLFlBQVksS0FBSyxPQUFPO3dCQUMvQixPQUFPO29CQUNUO29CQUNBLE9BQU8xQjtnQkFDVDthQUNEO1FBQ0g7SUFDRjtDQUNEIn0=