@zeushq/nextjs-zidentity
Version:
Next.js SDK for signin in with Zeus Identity
43 lines • 2.08 kB
JavaScript
;
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