@authdog/nextjs-app 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";"use server";var R=Object.create;var u=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var N=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),q=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of _(t))!y.call(e,s)&&s!==r&&u(e,s,{get:()=>t[s],enumerable:!(i=P(t,s))||i.enumerable});return e};var S=(e,t,r)=>(r=e!=null?R(v(e)):{},p(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>p(u({},"__esModule",{value:!0}),e);var d=N((n,g)=>{"use strict";var o={NextRequest:require("next/dist/server/web/spec-extension/request").NextRequest,NextResponse:require("next/dist/server/web/spec-extension/response").NextResponse,ImageResponse:require("next/dist/server/web/spec-extension/image-response").ImageResponse,userAgentFromString:require("next/dist/server/web/spec-extension/user-agent").userAgentFromString,userAgent:require("next/dist/server/web/spec-extension/user-agent").userAgent,URLPattern:require("next/dist/server/web/spec-extension/url-pattern").URLPattern,after:require("next/dist/server/after").after,connection:require("next/dist/server/request/connection").connection};g.exports=o;n.NextRequest=o.NextRequest;n.NextResponse=o.NextResponse;n.ImageResponse=o.ImageResponse;n.userAgentFromString=o.userAgentFromString;n.userAgent=o.userAgent;n.URLPattern=o.URLPattern;n.after=o.after;n.connection=o.connection});var A={};q(A,{getSessionCookie:()=>l,useAuthMiddleware:()=>k});module.exports=I(A);var h=S(d());var k=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");let t=JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"));return async r=>{var f;let i=h.NextResponse.next(),s={maxAge:60*60*24*7,path:"/",httpOnly:!0},c=new URL(r.nextUrl).searchParams.get("token");if(c){let m=await fetch(`${t.identityHost}/oidc/${t.environmentId}/userinfo`,{headers:{authorization:`Bearer ${c}`}});if(!m.ok)throw new Error("Failed to fetch user info");let a=await m.json();((f=a==null?void 0:a.meta)==null?void 0:f.code)===200&&(i.cookies.set({name:`user_session_${t.environmentId}`,value:JSON.stringify(a.user),...s}),i.cookies.set({name:`user_session_hash_${t.environmentId}`,value:c,...s}))}return i}};var x=require("next/headers");var w=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");try{return JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"))}catch{throw new Error("Failed to parse public key")}};var l=async e=>{if(!e)throw new Error("Public key is not defined");let t=w(e);return(await(0,x.cookies)()).get(`user_session_${t==null?void 0:t.environmentId}`)};0&&(module.exports={getSessionCookie,useAuthMiddleware});
1
+ "use strict";"use server";var R=Object.create;var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),A=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of P(t))!N.call(e,s)&&s!==r&&u(e,s,{get:()=>t[s],enumerable:!(i=y(t,s))||i.enumerable});return e};var v=(e,t,r)=>(r=e!=null?R(q(e)):{},p(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>p(u({},"__esModule",{value:!0}),e);var m=S((n,d)=>{"use strict";var o={NextRequest:require("next/dist/server/web/spec-extension/request").NextRequest,NextResponse:require("next/dist/server/web/spec-extension/response").NextResponse,ImageResponse:require("next/dist/server/web/spec-extension/image-response").ImageResponse,userAgentFromString:require("next/dist/server/web/spec-extension/user-agent").userAgentFromString,userAgent:require("next/dist/server/web/spec-extension/user-agent").userAgent,URLPattern:require("next/dist/server/web/spec-extension/url-pattern").URLPattern,after:require("next/dist/server/after").after,connection:require("next/dist/server/request/connection").connection};d.exports=o;n.NextRequest=o.NextRequest;n.NextResponse=o.NextResponse;n.ImageResponse=o.ImageResponse;n.userAgentFromString=o.userAgentFromString;n.userAgent=o.userAgent;n.URLPattern=o.URLPattern;n.after=o.after;n.connection=o.connection});var _={};A(_,{getSessionCookie:()=>k,useAuthMiddleware:()=>x});module.exports=I(_);var l=v(m()),x=e=>{if(console.log("in useAuthMiddleware publicKey",e),!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");let t=JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"));return async r=>{var f;let i=l.NextResponse.next(),s={maxAge:60*60*24*7,path:"/",httpOnly:!0},c=new URL(r.nextUrl).searchParams.get("token");if(c){let g=await fetch(`${t.identityHost}/oidc/${t.environmentId}/userinfo`,{headers:{authorization:`Bearer ${c}`}});if(!g.ok)throw new Error("Failed to fetch user info");let a=await g.json();((f=a==null?void 0:a.meta)==null?void 0:f.code)===200&&(i.cookies.set({name:`user_session_${t.environmentId}`,value:JSON.stringify(a.user),...s}),i.cookies.set({name:`user_session_hash_${t.environmentId}`,value:c,...s}))}return i}};var w=require("next/headers");var h=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");try{return JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"))}catch{throw new Error("Failed to parse public key")}};var k=async e=>{if(!e)throw new Error("Public key is not defined");let t=h(e);return(await(0,w.cookies)()).get(`user_session_${t==null?void 0:t.environmentId}`)};0&&(module.exports={getSessionCookie,useAuthMiddleware});
2
2
  //# sourceMappingURL=index.server.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/next@15.1.0_@opentelemetry+api@1.8.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/server.js","../src/index.server.ts","../src/middleware.ts","../src/server/cookies.ts","../src/commons.ts"],"sourcesContent":["const serverExports = {\n NextRequest: require('next/dist/server/web/spec-extension/request')\n .NextRequest,\n NextResponse: require('next/dist/server/web/spec-extension/response')\n .NextResponse,\n ImageResponse: require('next/dist/server/web/spec-extension/image-response')\n .ImageResponse,\n userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')\n .userAgentFromString,\n userAgent: require('next/dist/server/web/spec-extension/user-agent')\n .userAgent,\n URLPattern: require('next/dist/server/web/spec-extension/url-pattern')\n .URLPattern,\n after: require('next/dist/server/after').after,\n connection: require('next/dist/server/request/connection').connection,\n}\n\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports\n\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest\nexports.NextResponse = serverExports.NextResponse\nexports.ImageResponse = serverExports.ImageResponse\nexports.userAgentFromString = serverExports.userAgentFromString\nexports.userAgent = serverExports.userAgent\nexports.URLPattern = serverExports.URLPattern\nexports.after = serverExports.after\nexports.connection = serverExports.connection\n","\"use server\";\nexport {useAuthMiddleware} from \"./middleware\";\nexport {getSessionCookie} from \"./server/cookies\";","import { NextResponse, type NextRequest } from \"next/server\";\nexport const authenticateRequest = async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const publicKey = process.env.PK_AUTHDOG as string;\n\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n // Decode Base64-encoded publicKey\n const publicKeyObj = JSON.parse(Buffer.from(publicKey\n .replace(\n \"pk_\",\n \"\"\n ), \"base64\").toString(\"utf-8\"));\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj?.identityHost}/oidc/${publicKeyObj?.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta && authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj?.environmentId}`,\n value: JSON.stringify(authenticatedUser?.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj?.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n return response;\n}\n\nexport const useAuthMiddleware = (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n const publicKeyObj = JSON.parse(\n Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\")\n );\n\n return async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj.identityHost}/oidc/${publicKeyObj.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj.environmentId}`,\n value: JSON.stringify(authenticatedUser.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n\n return response;\n };\n};","import { cookies } from \"next/headers\";\nimport { getPublicKeyPayload } from \"../commons\";\n\nexport const getSessionCookie = async (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n const publicKeyObj = getPublicKeyPayload(publicKey);\n const cookieStore: any = await cookies();\n return cookieStore.get(`user_session_${publicKeyObj?.environmentId}`);\n}","export interface PublicKeyPayload {\n environmentId: string;\n identityHost: string;\n}\n\nexport const getPublicKeyPayload = (publicKey: string): PublicKeyPayload => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n \n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n try {\n return JSON.parse(Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\"));\n } catch (e) {\n throw new Error(\"Failed to parse public key\");\n }\n};"],"mappings":"ioBAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,kBAAMC,EAAgB,CACpB,YAAa,QAAQ,6CAA6C,EAC/D,YACH,aAAc,QAAQ,8CAA8C,EACjE,aACH,cAAe,QAAQ,oDAAoD,EACxE,cACH,oBAAqB,QAAQ,gDAAgD,EAC1E,oBACH,UAAW,QAAQ,gDAAgD,EAChE,UACH,WAAY,QAAQ,iDAAiD,EAClE,WACH,MAAO,QAAQ,wBAAwB,EAAE,MACzC,WAAY,QAAQ,qCAAqC,EAAE,UAC7D,EAIAD,EAAO,QAAUC,EAGjBF,EAAQ,YAAcE,EAAc,YACpCF,EAAQ,aAAeE,EAAc,aACrCF,EAAQ,cAAgBE,EAAc,cACtCF,EAAQ,oBAAsBE,EAAc,oBAC5CF,EAAQ,UAAYE,EAAc,UAClCF,EAAQ,WAAaE,EAAc,WACnCF,EAAQ,MAAQE,EAAc,MAC9BF,EAAQ,WAAaE,EAAc,aC7BnC,IAAAC,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAA+C,OA6DxC,IAAMC,EAAqBC,GAAsB,CACpD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,IAAMC,EAAe,KAAK,MACtB,OAAO,KAAKD,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CACxE,EAEA,MAAO,OAAOE,GAAyB,CA1E3C,IAAAC,EA2EQ,IAAMC,EAAW,eAAa,KAAK,EAC7BC,EAAU,CACZ,OAAQ,GAAK,GAAK,GAAK,EACvB,KAAM,IACN,SAAU,EACd,EAEMC,EAAe,IAAI,IAAIJ,EAAQ,OAAO,EAAE,aAAa,IAAI,OAAO,EAEtE,GAAII,EAAc,CACd,IAAMC,EAAW,MAAM,MACnB,GAAGN,EAAa,YAAY,SAASA,EAAa,aAAa,YAC/D,CACI,QAAS,CACL,cAAe,UAAUK,CAAY,EACzC,CACJ,CACJ,EAEA,GAAI,CAACC,EAAS,GACV,MAAM,IAAI,MAAM,2BAA2B,EAG/C,IAAMC,EAAoB,MAAMD,EAAS,KAAK,IAE1CJ,EAAAK,GAAA,YAAAA,EAAmB,OAAnB,YAAAL,EAAyB,QAAS,MAClCC,EAAS,QAAQ,IAAI,CACjB,KAAM,gBAAgBH,EAAa,aAAa,GAChD,MAAO,KAAK,UAAUO,EAAkB,IAAI,EAC5C,GAAGH,CACP,CAAC,EAEDD,EAAS,QAAQ,IAAI,CACjB,KAAM,qBAAqBH,EAAa,aAAa,GACrD,MAAOK,EACP,GAAGD,CACP,CAAC,EAET,CAEA,OAAOD,CACX,CACJ,ECrHA,IAAAK,EAAwB,wBCKjB,IAAMC,EAAuBC,GAAwC,CACxE,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,GAAI,CACA,OAAO,KAAK,MAAM,OAAO,KAAKA,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CAAC,CAC3F,MAAY,CACR,MAAM,IAAI,MAAM,4BAA4B,CAChD,CACJ,EDhBO,IAAMC,EAAmB,MAAOC,GAAsB,CACzD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAE/C,IAAMC,EAAeC,EAAoBF,CAAS,EAElD,OADyB,QAAM,WAAQ,GACpB,IAAI,gBAAgBC,GAAA,YAAAA,EAAc,aAAa,EAAE,CACxE","names":["require_server","__commonJSMin","exports","module","serverExports","index_server_exports","__export","getSessionCookie","useAuthMiddleware","__toCommonJS","import_server","useAuthMiddleware","publicKey","publicKeyObj","request","_a","response","options","tokenFromUri","userData","authenticatedUser","import_headers","getPublicKeyPayload","publicKey","getSessionCookie","publicKey","publicKeyObj","getPublicKeyPayload"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/next@15.1.0_@opentelemetry+api@1.8.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/server.js","../src/index.server.ts","../src/middleware.ts","../src/server/cookies.ts","../src/commons.ts"],"sourcesContent":["const serverExports = {\n NextRequest: require('next/dist/server/web/spec-extension/request')\n .NextRequest,\n NextResponse: require('next/dist/server/web/spec-extension/response')\n .NextResponse,\n ImageResponse: require('next/dist/server/web/spec-extension/image-response')\n .ImageResponse,\n userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')\n .userAgentFromString,\n userAgent: require('next/dist/server/web/spec-extension/user-agent')\n .userAgent,\n URLPattern: require('next/dist/server/web/spec-extension/url-pattern')\n .URLPattern,\n after: require('next/dist/server/after').after,\n connection: require('next/dist/server/request/connection').connection,\n}\n\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports\n\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest\nexports.NextResponse = serverExports.NextResponse\nexports.ImageResponse = serverExports.ImageResponse\nexports.userAgentFromString = serverExports.userAgentFromString\nexports.userAgent = serverExports.userAgent\nexports.URLPattern = serverExports.URLPattern\nexports.after = serverExports.after\nexports.connection = serverExports.connection\n","\"use server\";\nexport {useAuthMiddleware} from \"./middleware\";\nexport {getSessionCookie} from \"./server/cookies\";","import { NextResponse, type NextRequest } from \"next/server\";\n// export const authenticateRequest = async (request: NextRequest) => {\n// const response = NextResponse.next();\n// const options = {\n// maxAge: 60 * 60 * 24 * 7, // 1 week\n// path: \"/\",\n// httpOnly: true,\n// };\n\n// const publicKey = process.env.PK_AUTHDOG as string;\n\n// if (!publicKey) {\n// throw new Error(\"Public key is not defined\");\n// }\n\n// if (!publicKey.startsWith(\"pk_\")) {\n// throw new Error(\"Invalid public key\");\n// }\n\n// // Decode Base64-encoded publicKey\n// const publicKeyObj = JSON.parse(Buffer.from(publicKey\n// .replace(\n// \"pk_\",\n// \"\"\n// ), \"base64\").toString(\"utf-8\"));\n\n// const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n// if (tokenFromUri) {\n// const userData = await fetch(\n// `${publicKeyObj?.identityHost}/oidc/${publicKeyObj?.environmentId}/userinfo`,\n// {\n// headers: {\n// authorization: `Bearer ${tokenFromUri}`,\n// },\n// }\n// );\n\n// if (!userData.ok) {\n// throw new Error(\"Failed to fetch user info\");\n// }\n\n// const authenticatedUser = await userData.json();\n\n// if (authenticatedUser?.meta && authenticatedUser?.meta?.code === 200) {\n// response.cookies.set({\n// name: `user_session_${publicKeyObj?.environmentId}`,\n// value: JSON.stringify(authenticatedUser?.user),\n// ...options,\n// });\n\n// response.cookies.set({\n// name: `user_session_hash_${publicKeyObj?.environmentId}`,\n// value: tokenFromUri,\n// ...options,\n// });\n// }\n// }\n// return response;\n// }\n\nexport const useAuthMiddleware = (publicKey: string) => {\n\n console.log(\"in useAuthMiddleware publicKey\", publicKey);\n\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n const publicKeyObj = JSON.parse(\n Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\")\n );\n\n return async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj.identityHost}/oidc/${publicKeyObj.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj.environmentId}`,\n value: JSON.stringify(authenticatedUser.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n\n return response;\n };\n};","import { cookies } from \"next/headers\";\nimport { getPublicKeyPayload } from \"../commons\";\n\nexport const getSessionCookie = async (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n const publicKeyObj = getPublicKeyPayload(publicKey);\n const cookieStore: any = await cookies();\n return cookieStore.get(`user_session_${publicKeyObj?.environmentId}`);\n}","export interface PublicKeyPayload {\n environmentId: string;\n identityHost: string;\n}\n\nexport const getPublicKeyPayload = (publicKey: string): PublicKeyPayload => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n \n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n try {\n return JSON.parse(Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\"));\n } catch (e) {\n throw new Error(\"Failed to parse public key\");\n }\n};"],"mappings":"ioBAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,kBAAMC,EAAgB,CACpB,YAAa,QAAQ,6CAA6C,EAC/D,YACH,aAAc,QAAQ,8CAA8C,EACjE,aACH,cAAe,QAAQ,oDAAoD,EACxE,cACH,oBAAqB,QAAQ,gDAAgD,EAC1E,oBACH,UAAW,QAAQ,gDAAgD,EAChE,UACH,WAAY,QAAQ,iDAAiD,EAClE,WACH,MAAO,QAAQ,wBAAwB,EAAE,MACzC,WAAY,QAAQ,qCAAqC,EAAE,UAC7D,EAIAD,EAAO,QAAUC,EAGjBF,EAAQ,YAAcE,EAAc,YACpCF,EAAQ,aAAeE,EAAc,aACrCF,EAAQ,cAAgBE,EAAc,cACtCF,EAAQ,oBAAsBE,EAAc,oBAC5CF,EAAQ,UAAYE,EAAc,UAClCF,EAAQ,WAAaE,EAAc,WACnCF,EAAQ,MAAQE,EAAc,MAC9BF,EAAQ,WAAaE,EAAc,aC7BnC,IAAAC,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAA+C,OA6DlCC,EAAqBC,GAAsB,CAIpD,GAFA,QAAQ,IAAI,iCAAkCA,CAAS,EAEnD,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,IAAMC,EAAe,KAAK,MACtB,OAAO,KAAKD,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CACxE,EAEA,MAAO,OAAOE,GAAyB,CA7E3C,IAAAC,EA8EQ,IAAMC,EAAW,eAAa,KAAK,EAC7BC,EAAU,CACZ,OAAQ,GAAK,GAAK,GAAK,EACvB,KAAM,IACN,SAAU,EACd,EAEMC,EAAe,IAAI,IAAIJ,EAAQ,OAAO,EAAE,aAAa,IAAI,OAAO,EAEtE,GAAII,EAAc,CACd,IAAMC,EAAW,MAAM,MACnB,GAAGN,EAAa,YAAY,SAASA,EAAa,aAAa,YAC/D,CACI,QAAS,CACL,cAAe,UAAUK,CAAY,EACzC,CACJ,CACJ,EAEA,GAAI,CAACC,EAAS,GACV,MAAM,IAAI,MAAM,2BAA2B,EAG/C,IAAMC,EAAoB,MAAMD,EAAS,KAAK,IAE1CJ,EAAAK,GAAA,YAAAA,EAAmB,OAAnB,YAAAL,EAAyB,QAAS,MAClCC,EAAS,QAAQ,IAAI,CACjB,KAAM,gBAAgBH,EAAa,aAAa,GAChD,MAAO,KAAK,UAAUO,EAAkB,IAAI,EAC5C,GAAGH,CACP,CAAC,EAEDD,EAAS,QAAQ,IAAI,CACjB,KAAM,qBAAqBH,EAAa,aAAa,GACrD,MAAOK,EACP,GAAGD,CACP,CAAC,EAET,CAEA,OAAOD,CACX,CACJ,ECxHA,IAAAK,EAAwB,wBCKjB,IAAMC,EAAuBC,GAAwC,CACxE,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,GAAI,CACA,OAAO,KAAK,MAAM,OAAO,KAAKA,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CAAC,CAC3F,MAAY,CACR,MAAM,IAAI,MAAM,4BAA4B,CAChD,CACJ,EDhBO,IAAMC,EAAmB,MAAOC,GAAsB,CACzD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAE/C,IAAMC,EAAeC,EAAoBF,CAAS,EAElD,OADyB,QAAM,WAAQ,GACpB,IAAI,gBAAgBC,GAAA,YAAAA,EAAc,aAAa,EAAE,CACxE","names":["require_server","__commonJSMin","exports","module","serverExports","index_server_exports","__export","getSessionCookie","useAuthMiddleware","__toCommonJS","import_server","useAuthMiddleware","publicKey","publicKeyObj","request","_a","response","options","tokenFromUri","userData","authenticatedUser","import_headers","getPublicKeyPayload","publicKey","getSessionCookie","publicKey","publicKeyObj","getPublicKeyPayload"]}
@@ -1,2 +1,2 @@
1
- "use server";var w=Object.create;var p=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var i=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var v=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of l(t))!P.call(e,s)&&s!==r&&p(e,s,{get:()=>t[s],enumerable:!(a=x(t,s))||a.enumerable});return e};var y=(e,t,r)=>(r=e!=null?w(R(e)):{},v(t||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e));var d=_((n,g)=>{"use strict";var o={NextRequest:i("next/dist/server/web/spec-extension/request").NextRequest,NextResponse:i("next/dist/server/web/spec-extension/response").NextResponse,ImageResponse:i("next/dist/server/web/spec-extension/image-response").ImageResponse,userAgentFromString:i("next/dist/server/web/spec-extension/user-agent").userAgentFromString,userAgent:i("next/dist/server/web/spec-extension/user-agent").userAgent,URLPattern:i("next/dist/server/web/spec-extension/url-pattern").URLPattern,after:i("next/dist/server/after").after,connection:i("next/dist/server/request/connection").connection};g.exports=o;n.NextRequest=o.NextRequest;n.NextResponse=o.NextResponse;n.ImageResponse=o.ImageResponse;n.userAgentFromString=o.userAgentFromString;n.userAgent=o.userAgent;n.URLPattern=o.URLPattern;n.after=o.after;n.connection=o.connection});var h=y(d());var N=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");let t=JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"));return async r=>{var f;let a=h.NextResponse.next(),s={maxAge:60*60*24*7,path:"/",httpOnly:!0},c=new URL(r.nextUrl).searchParams.get("token");if(c){let m=await fetch(`${t.identityHost}/oidc/${t.environmentId}/userinfo`,{headers:{authorization:`Bearer ${c}`}});if(!m.ok)throw new Error("Failed to fetch user info");let u=await m.json();((f=u==null?void 0:u.meta)==null?void 0:f.code)===200&&(a.cookies.set({name:`user_session_${t.environmentId}`,value:JSON.stringify(u.user),...s}),a.cookies.set({name:`user_session_hash_${t.environmentId}`,value:c,...s}))}return a}};import{cookies as q}from"next/headers";var k=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");try{return JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"))}catch{throw new Error("Failed to parse public key")}};var S=async e=>{if(!e)throw new Error("Public key is not defined");let t=k(e);return(await q()).get(`user_session_${t==null?void 0:t.environmentId}`)};export{S as getSessionCookie,N as useAuthMiddleware};
1
+ "use server";var h=Object.create;var p=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var i=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var q=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of k(t))!y.call(e,s)&&s!==r&&p(e,s,{get:()=>t[s],enumerable:!(a=w(t,s))||a.enumerable});return e};var N=(e,t,r)=>(r=e!=null?h(R(e)):{},q(t||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e));var m=P((n,d)=>{"use strict";var o={NextRequest:i("next/dist/server/web/spec-extension/request").NextRequest,NextResponse:i("next/dist/server/web/spec-extension/response").NextResponse,ImageResponse:i("next/dist/server/web/spec-extension/image-response").ImageResponse,userAgentFromString:i("next/dist/server/web/spec-extension/user-agent").userAgentFromString,userAgent:i("next/dist/server/web/spec-extension/user-agent").userAgent,URLPattern:i("next/dist/server/web/spec-extension/url-pattern").URLPattern,after:i("next/dist/server/after").after,connection:i("next/dist/server/request/connection").connection};d.exports=o;n.NextRequest=o.NextRequest;n.NextResponse=o.NextResponse;n.ImageResponse=o.ImageResponse;n.userAgentFromString=o.userAgentFromString;n.userAgent=o.userAgent;n.URLPattern=o.URLPattern;n.after=o.after;n.connection=o.connection});var l=N(m()),S=e=>{if(console.log("in useAuthMiddleware publicKey",e),!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");let t=JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"));return async r=>{var f;let a=l.NextResponse.next(),s={maxAge:60*60*24*7,path:"/",httpOnly:!0},c=new URL(r.nextUrl).searchParams.get("token");if(c){let g=await fetch(`${t.identityHost}/oidc/${t.environmentId}/userinfo`,{headers:{authorization:`Bearer ${c}`}});if(!g.ok)throw new Error("Failed to fetch user info");let u=await g.json();((f=u==null?void 0:u.meta)==null?void 0:f.code)===200&&(a.cookies.set({name:`user_session_${t.environmentId}`,value:JSON.stringify(u.user),...s}),a.cookies.set({name:`user_session_hash_${t.environmentId}`,value:c,...s}))}return a}};import{cookies as A}from"next/headers";var x=e=>{if(!e)throw new Error("Public key is not defined");if(!e.startsWith("pk_"))throw new Error("Invalid public key");try{return JSON.parse(Buffer.from(e.replace("pk_",""),"base64").toString("utf-8"))}catch{throw new Error("Failed to parse public key")}};var v=async e=>{if(!e)throw new Error("Public key is not defined");let t=x(e);return(await A()).get(`user_session_${t==null?void 0:t.environmentId}`)};export{v as getSessionCookie,S as useAuthMiddleware};
2
2
  //# sourceMappingURL=index.server.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/next@15.1.0_@opentelemetry+api@1.8.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/server.js","../src/middleware.ts","../src/server/cookies.ts","../src/commons.ts"],"sourcesContent":["const serverExports = {\n NextRequest: require('next/dist/server/web/spec-extension/request')\n .NextRequest,\n NextResponse: require('next/dist/server/web/spec-extension/response')\n .NextResponse,\n ImageResponse: require('next/dist/server/web/spec-extension/image-response')\n .ImageResponse,\n userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')\n .userAgentFromString,\n userAgent: require('next/dist/server/web/spec-extension/user-agent')\n .userAgent,\n URLPattern: require('next/dist/server/web/spec-extension/url-pattern')\n .URLPattern,\n after: require('next/dist/server/after').after,\n connection: require('next/dist/server/request/connection').connection,\n}\n\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports\n\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest\nexports.NextResponse = serverExports.NextResponse\nexports.ImageResponse = serverExports.ImageResponse\nexports.userAgentFromString = serverExports.userAgentFromString\nexports.userAgent = serverExports.userAgent\nexports.URLPattern = serverExports.URLPattern\nexports.after = serverExports.after\nexports.connection = serverExports.connection\n","import { NextResponse, type NextRequest } from \"next/server\";\nexport const authenticateRequest = async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const publicKey = process.env.PK_AUTHDOG as string;\n\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n // Decode Base64-encoded publicKey\n const publicKeyObj = JSON.parse(Buffer.from(publicKey\n .replace(\n \"pk_\",\n \"\"\n ), \"base64\").toString(\"utf-8\"));\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj?.identityHost}/oidc/${publicKeyObj?.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta && authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj?.environmentId}`,\n value: JSON.stringify(authenticatedUser?.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj?.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n return response;\n}\n\nexport const useAuthMiddleware = (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n const publicKeyObj = JSON.parse(\n Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\")\n );\n\n return async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj.identityHost}/oidc/${publicKeyObj.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj.environmentId}`,\n value: JSON.stringify(authenticatedUser.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n\n return response;\n };\n};","import { cookies } from \"next/headers\";\nimport { getPublicKeyPayload } from \"../commons\";\n\nexport const getSessionCookie = async (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n const publicKeyObj = getPublicKeyPayload(publicKey);\n const cookieStore: any = await cookies();\n return cookieStore.get(`user_session_${publicKeyObj?.environmentId}`);\n}","export interface PublicKeyPayload {\n environmentId: string;\n identityHost: string;\n}\n\nexport const getPublicKeyPayload = (publicKey: string): PublicKeyPayload => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n \n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n try {\n return JSON.parse(Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\"));\n } catch (e) {\n throw new Error(\"Failed to parse public key\");\n }\n};"],"mappings":"+wBAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,kBAAMC,EAAgB,CACpB,YAAa,EAAQ,6CAA6C,EAC/D,YACH,aAAc,EAAQ,8CAA8C,EACjE,aACH,cAAe,EAAQ,oDAAoD,EACxE,cACH,oBAAqB,EAAQ,gDAAgD,EAC1E,oBACH,UAAW,EAAQ,gDAAgD,EAChE,UACH,WAAY,EAAQ,iDAAiD,EAClE,WACH,MAAO,EAAQ,wBAAwB,EAAE,MACzC,WAAY,EAAQ,qCAAqC,EAAE,UAC7D,EAIAD,EAAO,QAAUC,EAGjBF,EAAQ,YAAcE,EAAc,YACpCF,EAAQ,aAAeE,EAAc,aACrCF,EAAQ,cAAgBE,EAAc,cACtCF,EAAQ,oBAAsBE,EAAc,oBAC5CF,EAAQ,UAAYE,EAAc,UAClCF,EAAQ,WAAaE,EAAc,WACnCF,EAAQ,MAAQE,EAAc,MAC9BF,EAAQ,WAAaE,EAAc,aC7BnC,IAAAC,EAA+C,OA6DxC,IAAMC,EAAqBC,GAAsB,CACpD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,IAAMC,EAAe,KAAK,MACtB,OAAO,KAAKD,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CACxE,EAEA,MAAO,OAAOE,GAAyB,CA1E3C,IAAAC,EA2EQ,IAAMC,EAAW,eAAa,KAAK,EAC7BC,EAAU,CACZ,OAAQ,GAAK,GAAK,GAAK,EACvB,KAAM,IACN,SAAU,EACd,EAEMC,EAAe,IAAI,IAAIJ,EAAQ,OAAO,EAAE,aAAa,IAAI,OAAO,EAEtE,GAAII,EAAc,CACd,IAAMC,EAAW,MAAM,MACnB,GAAGN,EAAa,YAAY,SAASA,EAAa,aAAa,YAC/D,CACI,QAAS,CACL,cAAe,UAAUK,CAAY,EACzC,CACJ,CACJ,EAEA,GAAI,CAACC,EAAS,GACV,MAAM,IAAI,MAAM,2BAA2B,EAG/C,IAAMC,EAAoB,MAAMD,EAAS,KAAK,IAE1CJ,EAAAK,GAAA,YAAAA,EAAmB,OAAnB,YAAAL,EAAyB,QAAS,MAClCC,EAAS,QAAQ,IAAI,CACjB,KAAM,gBAAgBH,EAAa,aAAa,GAChD,MAAO,KAAK,UAAUO,EAAkB,IAAI,EAC5C,GAAGH,CACP,CAAC,EAEDD,EAAS,QAAQ,IAAI,CACjB,KAAM,qBAAqBH,EAAa,aAAa,GACrD,MAAOK,EACP,GAAGD,CACP,CAAC,EAET,CAEA,OAAOD,CACX,CACJ,ECrHA,OAAS,WAAAK,MAAe,eCKjB,IAAMC,EAAuBC,GAAwC,CACxE,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,GAAI,CACA,OAAO,KAAK,MAAM,OAAO,KAAKA,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CAAC,CAC3F,MAAY,CACR,MAAM,IAAI,MAAM,4BAA4B,CAChD,CACJ,EDhBO,IAAMC,EAAmB,MAAOC,GAAsB,CACzD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAE/C,IAAMC,EAAeC,EAAoBF,CAAS,EAElD,OADyB,MAAMG,EAAQ,GACpB,IAAI,gBAAgBF,GAAA,YAAAA,EAAc,aAAa,EAAE,CACxE","names":["require_server","__commonJSMin","exports","module","serverExports","import_server","useAuthMiddleware","publicKey","publicKeyObj","request","_a","response","options","tokenFromUri","userData","authenticatedUser","cookies","getPublicKeyPayload","publicKey","getSessionCookie","publicKey","publicKeyObj","getPublicKeyPayload","cookies"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/next@15.1.0_@opentelemetry+api@1.8.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/server.js","../src/middleware.ts","../src/server/cookies.ts","../src/commons.ts"],"sourcesContent":["const serverExports = {\n NextRequest: require('next/dist/server/web/spec-extension/request')\n .NextRequest,\n NextResponse: require('next/dist/server/web/spec-extension/response')\n .NextResponse,\n ImageResponse: require('next/dist/server/web/spec-extension/image-response')\n .ImageResponse,\n userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')\n .userAgentFromString,\n userAgent: require('next/dist/server/web/spec-extension/user-agent')\n .userAgent,\n URLPattern: require('next/dist/server/web/spec-extension/url-pattern')\n .URLPattern,\n after: require('next/dist/server/after').after,\n connection: require('next/dist/server/request/connection').connection,\n}\n\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports\n\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest\nexports.NextResponse = serverExports.NextResponse\nexports.ImageResponse = serverExports.ImageResponse\nexports.userAgentFromString = serverExports.userAgentFromString\nexports.userAgent = serverExports.userAgent\nexports.URLPattern = serverExports.URLPattern\nexports.after = serverExports.after\nexports.connection = serverExports.connection\n","import { NextResponse, type NextRequest } from \"next/server\";\n// export const authenticateRequest = async (request: NextRequest) => {\n// const response = NextResponse.next();\n// const options = {\n// maxAge: 60 * 60 * 24 * 7, // 1 week\n// path: \"/\",\n// httpOnly: true,\n// };\n\n// const publicKey = process.env.PK_AUTHDOG as string;\n\n// if (!publicKey) {\n// throw new Error(\"Public key is not defined\");\n// }\n\n// if (!publicKey.startsWith(\"pk_\")) {\n// throw new Error(\"Invalid public key\");\n// }\n\n// // Decode Base64-encoded publicKey\n// const publicKeyObj = JSON.parse(Buffer.from(publicKey\n// .replace(\n// \"pk_\",\n// \"\"\n// ), \"base64\").toString(\"utf-8\"));\n\n// const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n// if (tokenFromUri) {\n// const userData = await fetch(\n// `${publicKeyObj?.identityHost}/oidc/${publicKeyObj?.environmentId}/userinfo`,\n// {\n// headers: {\n// authorization: `Bearer ${tokenFromUri}`,\n// },\n// }\n// );\n\n// if (!userData.ok) {\n// throw new Error(\"Failed to fetch user info\");\n// }\n\n// const authenticatedUser = await userData.json();\n\n// if (authenticatedUser?.meta && authenticatedUser?.meta?.code === 200) {\n// response.cookies.set({\n// name: `user_session_${publicKeyObj?.environmentId}`,\n// value: JSON.stringify(authenticatedUser?.user),\n// ...options,\n// });\n\n// response.cookies.set({\n// name: `user_session_hash_${publicKeyObj?.environmentId}`,\n// value: tokenFromUri,\n// ...options,\n// });\n// }\n// }\n// return response;\n// }\n\nexport const useAuthMiddleware = (publicKey: string) => {\n\n console.log(\"in useAuthMiddleware publicKey\", publicKey);\n\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n\n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n const publicKeyObj = JSON.parse(\n Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\")\n );\n\n return async (request: NextRequest) => {\n const response = NextResponse.next();\n const options = {\n maxAge: 60 * 60 * 24 * 7, // 1 week\n path: \"/\",\n httpOnly: true,\n };\n\n const tokenFromUri = new URL(request.nextUrl).searchParams.get(\"token\");\n\n if (tokenFromUri) {\n const userData = await fetch(\n `${publicKeyObj.identityHost}/oidc/${publicKeyObj.environmentId}/userinfo`,\n {\n headers: {\n authorization: `Bearer ${tokenFromUri}`,\n },\n }\n );\n\n if (!userData.ok) {\n throw new Error(\"Failed to fetch user info\");\n }\n\n const authenticatedUser = await userData.json();\n\n if (authenticatedUser?.meta?.code === 200) {\n response.cookies.set({\n name: `user_session_${publicKeyObj.environmentId}`,\n value: JSON.stringify(authenticatedUser.user),\n ...options,\n });\n\n response.cookies.set({\n name: `user_session_hash_${publicKeyObj.environmentId}`,\n value: tokenFromUri,\n ...options,\n });\n }\n }\n\n return response;\n };\n};","import { cookies } from \"next/headers\";\nimport { getPublicKeyPayload } from \"../commons\";\n\nexport const getSessionCookie = async (publicKey: string) => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n const publicKeyObj = getPublicKeyPayload(publicKey);\n const cookieStore: any = await cookies();\n return cookieStore.get(`user_session_${publicKeyObj?.environmentId}`);\n}","export interface PublicKeyPayload {\n environmentId: string;\n identityHost: string;\n}\n\nexport const getPublicKeyPayload = (publicKey: string): PublicKeyPayload => {\n if (!publicKey) {\n throw new Error(\"Public key is not defined\");\n }\n \n if (!publicKey.startsWith(\"pk_\")) {\n throw new Error(\"Invalid public key\");\n }\n\n try {\n return JSON.parse(Buffer.from(publicKey.replace(\"pk_\", \"\"), \"base64\").toString(\"utf-8\"));\n } catch (e) {\n throw new Error(\"Failed to parse public key\");\n }\n};"],"mappings":"+wBAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,kBAAMC,EAAgB,CACpB,YAAa,EAAQ,6CAA6C,EAC/D,YACH,aAAc,EAAQ,8CAA8C,EACjE,aACH,cAAe,EAAQ,oDAAoD,EACxE,cACH,oBAAqB,EAAQ,gDAAgD,EAC1E,oBACH,UAAW,EAAQ,gDAAgD,EAChE,UACH,WAAY,EAAQ,iDAAiD,EAClE,WACH,MAAO,EAAQ,wBAAwB,EAAE,MACzC,WAAY,EAAQ,qCAAqC,EAAE,UAC7D,EAIAD,EAAO,QAAUC,EAGjBF,EAAQ,YAAcE,EAAc,YACpCF,EAAQ,aAAeE,EAAc,aACrCF,EAAQ,cAAgBE,EAAc,cACtCF,EAAQ,oBAAsBE,EAAc,oBAC5CF,EAAQ,UAAYE,EAAc,UAClCF,EAAQ,WAAaE,EAAc,WACnCF,EAAQ,MAAQE,EAAc,MAC9BF,EAAQ,WAAaE,EAAc,aC7BnC,IAAAC,EAA+C,OA6DlCC,EAAqBC,GAAsB,CAIpD,GAFA,QAAQ,IAAI,iCAAkCA,CAAS,EAEnD,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,IAAMC,EAAe,KAAK,MACtB,OAAO,KAAKD,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CACxE,EAEA,MAAO,OAAOE,GAAyB,CA7E3C,IAAAC,EA8EQ,IAAMC,EAAW,eAAa,KAAK,EAC7BC,EAAU,CACZ,OAAQ,GAAK,GAAK,GAAK,EACvB,KAAM,IACN,SAAU,EACd,EAEMC,EAAe,IAAI,IAAIJ,EAAQ,OAAO,EAAE,aAAa,IAAI,OAAO,EAEtE,GAAII,EAAc,CACd,IAAMC,EAAW,MAAM,MACnB,GAAGN,EAAa,YAAY,SAASA,EAAa,aAAa,YAC/D,CACI,QAAS,CACL,cAAe,UAAUK,CAAY,EACzC,CACJ,CACJ,EAEA,GAAI,CAACC,EAAS,GACV,MAAM,IAAI,MAAM,2BAA2B,EAG/C,IAAMC,EAAoB,MAAMD,EAAS,KAAK,IAE1CJ,EAAAK,GAAA,YAAAA,EAAmB,OAAnB,YAAAL,EAAyB,QAAS,MAClCC,EAAS,QAAQ,IAAI,CACjB,KAAM,gBAAgBH,EAAa,aAAa,GAChD,MAAO,KAAK,UAAUO,EAAkB,IAAI,EAC5C,GAAGH,CACP,CAAC,EAEDD,EAAS,QAAQ,IAAI,CACjB,KAAM,qBAAqBH,EAAa,aAAa,GACrD,MAAOK,EACP,GAAGD,CACP,CAAC,EAET,CAEA,OAAOD,CACX,CACJ,ECxHA,OAAS,WAAAK,MAAe,eCKjB,IAAMC,EAAuBC,GAAwC,CACxE,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAG/C,GAAI,CAACA,EAAU,WAAW,KAAK,EAC3B,MAAM,IAAI,MAAM,oBAAoB,EAGxC,GAAI,CACA,OAAO,KAAK,MAAM,OAAO,KAAKA,EAAU,QAAQ,MAAO,EAAE,EAAG,QAAQ,EAAE,SAAS,OAAO,CAAC,CAC3F,MAAY,CACR,MAAM,IAAI,MAAM,4BAA4B,CAChD,CACJ,EDhBO,IAAMC,EAAmB,MAAOC,GAAsB,CACzD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,2BAA2B,EAE/C,IAAMC,EAAeC,EAAoBF,CAAS,EAElD,OADyB,MAAMG,EAAQ,GACpB,IAAI,gBAAgBF,GAAA,YAAAA,EAAc,aAAa,EAAE,CACxE","names":["require_server","__commonJSMin","exports","module","serverExports","import_server","useAuthMiddleware","publicKey","publicKeyObj","request","_a","response","options","tokenFromUri","userData","authenticatedUser","cookies","getPublicKeyPayload","publicKey","getSessionCookie","publicKey","publicKeyObj","getPublicKeyPayload","cookies"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authdog/nextjs-app",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",