UNPKG

@zeushq/nextjs-zidentity

Version:

Next.js SDK for signin in with Zeus Identity

43 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var url_helpers_1 = (0, tslib_1.__importDefault)(require("../utils/url-helpers")); var assert_1 = require("../utils/assert"); var errors_1 = require("../utils/errors"); /** * @ignore */ function handleLoginFactory(handler, nextConfig) { var _this = this; return function (req, res, options) { if (options === void 0) { options = {}; } return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () { var returnTo, e_1; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); (0, assert_1.assertReqRes)(req, res); if (req.query.returnTo) { returnTo = Array.isArray(req.query.returnTo) ? req.query.returnTo[0] : req.query.returnTo; if (!(0, url_helpers_1.default)(returnTo)) { throw new Error('Invalid value provided for returnTo, must be a relative url'); } options = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { returnTo: returnTo }); } if (nextConfig.organization) { options = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { authorizationParams: (0, tslib_1.__assign)({ organization: nextConfig.organization }, options.authorizationParams) }); } return [4 /*yield*/, handler(req, res, options)]; case 1: return [2 /*return*/, _a.sent()]; case 2: e_1 = _a.sent(); throw new errors_1.HandlerError(e_1); case 3: return [2 /*return*/]; } }); }); }; } exports.default = handleLoginFactory; //# sourceMappingURL=login.js.map