UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

45 lines (44 loc) 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _passport = /*#__PURE__*/ _interop_require_default(require("passport")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _default = (config)=>{ const defaultMethods = [ 'jwt', 'anonymous' ]; const methods = config.collections.reduce((enabledMethods, collection)=>{ if (typeof collection.auth === 'object') { const collectionMethods = [ ...enabledMethods ]; if (Array.isArray(collection.auth.strategies)) { collection.auth.strategies.forEach(({ name, strategy })=>{ collectionMethods.unshift(`${collection.slug}-${name ?? strategy.name}`); }); } if (collection.auth.useAPIKey) { collectionMethods.unshift(`${collection.slug}-api-key`); } return collectionMethods; } return enabledMethods; }, defaultMethods); const authenticate = _passport.default.authenticate(methods, { session: false }); return authenticate; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHByZXNzL21pZGRsZXdhcmUvYXV0aGVudGljYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uLCBSZXF1ZXN0LCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCBwYXNzcG9ydCBmcm9tICdwYXNzcG9ydCdcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmV4cG9ydCB0eXBlIFBheWxvYWRBdXRoZW50aWNhdGUgPSAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IE5leHRGdW5jdGlvblxuXG5leHBvcnQgZGVmYXVsdCAoY29uZmlnOiBTYW5pdGl6ZWRDb25maWcpOiBQYXlsb2FkQXV0aGVudGljYXRlID0+IHtcbiAgY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBbJ2p3dCcsICdhbm9ueW1vdXMnXVxuXG4gIGNvbnN0IG1ldGhvZHMgPSBjb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChlbmFibGVkTWV0aG9kcywgY29sbGVjdGlvbikgPT4ge1xuICAgIGlmICh0eXBlb2YgY29sbGVjdGlvbi5hdXRoID09PSAnb2JqZWN0Jykge1xuICAgICAgY29uc3QgY29sbGVjdGlvbk1ldGhvZHMgPSBbLi4uZW5hYmxlZE1ldGhvZHNdXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKSkge1xuICAgICAgICBjb2xsZWN0aW9uLmF1dGguc3RyYXRlZ2llcy5mb3JFYWNoKCh7IG5hbWUsIHN0cmF0ZWd5IH0pID0+IHtcbiAgICAgICAgICBjb2xsZWN0aW9uTWV0aG9kcy51bnNoaWZ0KGAke2NvbGxlY3Rpb24uc2x1Z30tJHtuYW1lID8/IHN0cmF0ZWd5Lm5hbWV9YClcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC51c2VBUElLZXkpIHtcbiAgICAgICAgY29sbGVjdGlvbk1ldGhvZHMudW5zaGlmdChgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29sbGVjdGlvbk1ldGhvZHNcbiAgICB9XG5cbiAgICByZXR1cm4gZW5hYmxlZE1ldGhvZHNcbiAgfSwgZGVmYXVsdE1ldGhvZHMpXG5cbiAgY29uc3QgYXV0aGVudGljYXRlID0gcGFzc3BvcnQuYXV0aGVudGljYXRlKG1ldGhvZHMsIHsgc2Vzc2lvbjogZmFsc2UgfSlcbiAgcmV0dXJuIGF1dGhlbnRpY2F0ZVxufVxuIl0sIm5hbWVzIjpbImNvbmZpZyIsImRlZmF1bHRNZXRob2RzIiwibWV0aG9kcyIsImNvbGxlY3Rpb25zIiwicmVkdWNlIiwiZW5hYmxlZE1ldGhvZHMiLCJjb2xsZWN0aW9uIiwiYXV0aCIsImNvbGxlY3Rpb25NZXRob2RzIiwiQXJyYXkiLCJpc0FycmF5Iiwic3RyYXRlZ2llcyIsImZvckVhY2giLCJuYW1lIiwic3RyYXRlZ3kiLCJ1bnNoaWZ0Iiwic2x1ZyIsInVzZUFQSUtleSIsImF1dGhlbnRpY2F0ZSIsInBhc3Nwb3J0Iiwic2Vzc2lvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRQTs7O2VBQUE7OztpRUFOcUI7Ozs7OztNQU1yQixXQUFlLENBQUNBO0lBQ2QsTUFBTUMsaUJBQWlCO1FBQUM7UUFBTztLQUFZO0lBRTNDLE1BQU1DLFVBQVVGLE9BQU9HLFdBQVcsQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLGdCQUFnQkM7UUFDekQsSUFBSSxPQUFPQSxXQUFXQyxJQUFJLEtBQUssVUFBVTtZQUN2QyxNQUFNQyxvQkFBb0I7bUJBQUlIO2FBQWU7WUFFN0MsSUFBSUksTUFBTUMsT0FBTyxDQUFDSixXQUFXQyxJQUFJLENBQUNJLFVBQVUsR0FBRztnQkFDN0NMLFdBQVdDLElBQUksQ0FBQ0ksVUFBVSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRTtvQkFDcEROLGtCQUFrQk8sT0FBTyxDQUFDLENBQUMsRUFBRVQsV0FBV1UsSUFBSSxDQUFDLENBQUMsRUFBRUgsUUFBUUMsU0FBU0QsSUFBSSxDQUFDLENBQUM7Z0JBQ3pFO1lBQ0Y7WUFFQSxJQUFJUCxXQUFXQyxJQUFJLENBQUNVLFNBQVMsRUFBRTtnQkFDN0JULGtCQUFrQk8sT0FBTyxDQUFDLENBQUMsRUFBRVQsV0FBV1UsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN4RDtZQUVBLE9BQU9SO1FBQ1Q7UUFFQSxPQUFPSDtJQUNULEdBQUdKO0lBRUgsTUFBTWlCLGVBQWVDLGlCQUFRLENBQUNELFlBQVksQ0FBQ2hCLFNBQVM7UUFBRWtCLFNBQVM7SUFBTTtJQUNyRSxPQUFPRjtBQUNUIn0=