UNPKG

next-auth

Version:

Authentication for Next.js

81 lines (67 loc) 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getServerSession = getServerSession; exports.default = void 0; var _core = require("../core"); var _cookie = require("./cookie"); async function NextAuthNextHandler(req, res, options) { var _process$env$NEXTAUTH, _req$method, _ref, _handler$status, _handler$cookies, _handler$headers; const handler = await (0, _core.NextAuthHandler)({ req: { host: (_process$env$NEXTAUTH = process.env.NEXTAUTH_URL) !== null && _process$env$NEXTAUTH !== void 0 ? _process$env$NEXTAUTH : process.env.VERCEL_URL, body: req.body, query: req.query, cookies: req.cookies, headers: req.headers, method: (_req$method = req.method) !== null && _req$method !== void 0 ? _req$method : "GET", action: req.query.nextauth[0], providerId: req.query.nextauth[1], error: (_ref = req.query.error) !== null && _ref !== void 0 ? _ref : req.query.nextauth[1] }, options }); res.status((_handler$status = handler.status) !== null && _handler$status !== void 0 ? _handler$status : 200); (_handler$cookies = handler.cookies) === null || _handler$cookies === void 0 ? void 0 : _handler$cookies.forEach(cookie => (0, _cookie.setCookie)(res, cookie)); (_handler$headers = handler.headers) === null || _handler$headers === void 0 ? void 0 : _handler$headers.forEach(h => res.setHeader(h.key, h.value)); if (handler.redirect) { var _req$body; if (((_req$body = req.body) === null || _req$body === void 0 ? void 0 : _req$body.json) !== "true") { res.status(302).setHeader("Location", handler.redirect); return res.end(); } return res.json({ url: handler.redirect }); } return res.send(handler.body); } function NextAuth(...args) { if (args.length === 1) { return async (req, res) => await NextAuthNextHandler(req, res, args[0]); } return NextAuthNextHandler(args[0], args[1], args[2]); } var _default = NextAuth; exports.default = _default; async function getServerSession(context, options) { var _process$env$NEXTAUTH2; const session = await (0, _core.NextAuthHandler)({ options, req: { host: (_process$env$NEXTAUTH2 = process.env.NEXTAUTH_URL) !== null && _process$env$NEXTAUTH2 !== void 0 ? _process$env$NEXTAUTH2 : process.env.VERCEL_URL, action: "session", method: "GET", cookies: context.req.cookies, headers: context.req.headers } }); const { body, cookies } = session; cookies === null || cookies === void 0 ? void 0 : cookies.forEach(cookie => (0, _cookie.setCookie)(context.res, cookie)); if (body && Object.keys(body).length) return body; return null; }