UNPKG

@financialforcedev/orizuru-auth

Version:

Salesforce authentication for Heroku Node applications.

50 lines 6.92 kB
"use strict"; /* * Copyright (c) 2019, FinancialForce.com, inc * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * - Neither the name of the FinancialForce.com, inc nor the names of its contributors * may be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ Object.defineProperty(exports, "__esModule", { value: true }); const __1 = require("../../.."); /** * Helper function for a failed request. * * Emits a denied event and calls next with the access denied error. * * @fires EVENT_DENIED * @param app The Orizuru server instance. * @param error The error that caused the failed request. * @param req The HTTP request. * @param res The HTTP response. * @param next Callback argument to the middleware function. */ function fail(app, error, req, res, next) { const message = `Access denied to: ${req.ip ? req.ip : 'unknown'}. Error: ${error.message}`; const accessDeniedError = new Error(message); app.emit(__1.EVENT_DENIED, message); // Rather than returning a 401 directly, we need to call next with the error. // This should then find the appropriate error handler. next(accessDeniedError); } exports.fail = fail; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbmRleC9taWRkbGV3YXJlL2NvbW1vbi9mYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHOztBQVFILGdDQUF3QztBQUV4Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLElBQUksQ0FBQyxHQUFvQixFQUFFLEtBQVksRUFBRSxHQUFZLEVBQUUsR0FBYSxFQUFFLElBQWtCO0lBRXZHLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWhDLDZFQUE2RTtJQUM3RSx1REFBdUQ7SUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekIsQ0FBQztBQVhELG9CQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSwgRmluYW5jaWFsRm9yY2UuY29tLCBpbmNcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbixcbiAqICAgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuICpcbiAqIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLFxuICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICogLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKiAtIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEZpbmFuY2lhbEZvcmNlLmNvbSwgaW5jIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9yc1xuICogICAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dFxuICogICAgICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCIgQU5EXG4gKiAgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFU1xuICogIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMXG4gKiAgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsXG4gKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTXG4gKiAgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZXG4gKiAgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpXG4gKiAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKi9cblxuLyoqXG4gKiBAbW9kdWxlIG1pZGRsZXdhcmUvY29tbW9uL2ZhaWxcbiAqL1xuXG5pbXBvcnQgeyBOZXh0RnVuY3Rpb24sIFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnQGZpbmFuY2lhbGZvcmNlZGV2L29yaXp1cnUnO1xuXG5pbXBvcnQgeyBFVkVOVF9ERU5JRUQgfSBmcm9tICcuLi8uLi8uLic7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBhIGZhaWxlZCByZXF1ZXN0LlxuICpcbiAqIEVtaXRzIGEgZGVuaWVkIGV2ZW50IGFuZCBjYWxscyBuZXh0IHdpdGggdGhlIGFjY2VzcyBkZW5pZWQgZXJyb3IuXG4gKlxuICogQGZpcmVzIEVWRU5UX0RFTklFRFxuICogQHBhcmFtIGFwcCBUaGUgT3JpenVydSBzZXJ2ZXIgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZXJyb3IgVGhlIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsZWQgcmVxdWVzdC5cbiAqIEBwYXJhbSByZXEgVGhlIEhUVFAgcmVxdWVzdC5cbiAqIEBwYXJhbSByZXMgVGhlIEhUVFAgcmVzcG9uc2UuXG4gKiBAcGFyYW0gbmV4dCBDYWxsYmFjayBhcmd1bWVudCB0byB0aGUgbWlkZGxld2FyZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZhaWwoYXBwOiBPcml6dXJ1LklTZXJ2ZXIsIGVycm9yOiBFcnJvciwgcmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pIHtcblxuXHRjb25zdCBtZXNzYWdlID0gYEFjY2VzcyBkZW5pZWQgdG86ICR7cmVxLmlwID8gcmVxLmlwIDogJ3Vua25vd24nfS4gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gO1xuXHRjb25zdCBhY2Nlc3NEZW5pZWRFcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcblxuXHRhcHAuZW1pdChFVkVOVF9ERU5JRUQsIG1lc3NhZ2UpO1xuXG5cdC8vIFJhdGhlciB0aGFuIHJldHVybmluZyBhIDQwMSBkaXJlY3RseSwgd2UgbmVlZCB0byBjYWxsIG5leHQgd2l0aCB0aGUgZXJyb3IuXG5cdC8vIFRoaXMgc2hvdWxkIHRoZW4gZmluZCB0aGUgYXBwcm9wcmlhdGUgZXJyb3IgaGFuZGxlci5cblx0bmV4dChhY2Nlc3NEZW5pZWRFcnJvcik7XG5cbn1cbiJdfQ==