diff --git a/.env.local.example b/.env.local.example index 0f80fd5..6139557 100644 --- a/.env.local.example +++ b/.env.local.example @@ -1,5 +1,5 @@ WORKOS_CLIENT_ID= WORKOS_API_KEY= -WORKOS_REDIRECT_URI=http://localhost:3000/callback +WORKOS_REDIRECT_URI=http://localhost:3000/auth/callback WORKOS_COOKIE_PASSWORD= diff --git a/package-lock.json b/package-lock.json index 5486911..29ae790 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@radix-ui/react-icons": "^1.3.0", "@radix-ui/themes": "^3.0.1", - "@workos-inc/authkit-nextjs": "0.4.1", + "@workos-inc/authkit-nextjs": "0.5.3", "next": "14.1.3", "react": "^18", "react-dom": "^18" @@ -2071,13 +2071,14 @@ "dev": true }, "node_modules/@workos-inc/authkit-nextjs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@workos-inc/authkit-nextjs/-/authkit-nextjs-0.4.1.tgz", - "integrity": "sha512-CUEOYiLsb9ks2TXkWkJ21hxvR3zt2O4d0P0CJyskDJpmpSc2kh3F+ib5OJ4agcC0rcWomsDNlusC8VkIte60Fg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@workos-inc/authkit-nextjs/-/authkit-nextjs-0.5.3.tgz", + "integrity": "sha512-18ol2WeJ76OmRKqVri3QMQ9HoBYHz8JB1q4aShtQnx4X9/1VZbrWyvmW+aMuAj0zgBzYiXapaTNU6R+SiGRRBA==", "dependencies": { - "@workos-inc/node": "^6.7.0", + "@workos-inc/node": "^6.8.0", "iron-session": "^8.0.1", - "jose": "^5.2.3" + "jose": "^5.2.3", + "path-to-regexp": "^6.2.2" }, "peerDependencies": { "next": "^13.5.4 || ^14.0.3", @@ -2086,9 +2087,9 @@ } }, "node_modules/@workos-inc/node": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/@workos-inc/node/-/node-6.7.0.tgz", - "integrity": "sha512-/snXOkOPx+LJi2jKwlMQBwdw7dNCVYi5GpDf7bjKRV7hvT54bPAUrL/je5/0Ngy1LXFbskRFBYMoGgpaK7KDUw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@workos-inc/node/-/node-6.8.0.tgz", + "integrity": "sha512-uhlmK3DozCTBOBuy2IY2GvHbpYmDmolc2N5j8MpOUKMYyTWZpdkmETqg1Ky7mUSSPA203E3v6VIra9G4J7me1g==", "dependencies": { "pluralize": "8.0.0" } @@ -5426,6 +5427,11 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", diff --git a/package.json b/package.json index 0c0a085..933dde5 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "dependencies": { "@radix-ui/react-icons": "^1.3.0", "@radix-ui/themes": "^3.0.1", - "@workos-inc/authkit-nextjs": "0.4.1", + "@workos-inc/authkit-nextjs": "0.5.3", "next": "14.1.3", "react": "^18", "react-dom": "^18" diff --git a/src/app/callback/route.ts b/src/app/auth/callback/route.ts similarity index 100% rename from src/app/callback/route.ts rename to src/app/auth/callback/route.ts diff --git a/src/app/layout.tsx b/src/app/layout.tsx index ae18eae..b62046f 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -43,6 +43,10 @@ export default function RootLayout({ + + diff --git a/src/app/test/page.tsx b/src/app/test/page.tsx new file mode 100644 index 0000000..6b7849d --- /dev/null +++ b/src/app/test/page.tsx @@ -0,0 +1,18 @@ +"use client"; +import { useEffect } from "react"; +import { getUser } from "@workos-inc/authkit-nextjs"; +import { Text, Heading, TextField, Flex, Box } from "@radix-ui/themes"; + +import { serverFunction } from "../../server-function"; + +export default function TestPage() { + return ( + <> +

This is just a test page

+ + + + ); +} diff --git a/src/middleware.ts b/src/middleware.ts index e845d98..30c5659 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,6 +1,11 @@ import { authkitMiddleware } from "@workos-inc/authkit-nextjs"; -export default authkitMiddleware(); +export default authkitMiddleware({ + middlewareAuth: { + enabled: true, + unauthenticatedPaths: ["/auth/callback"], + }, +}); // Match against the pages -export const config = { matcher: ["/", "/account/:path*"] }; +// export const config = { matcher: ["/", "/account/:path*"] }; diff --git a/src/server-function.ts b/src/server-function.ts new file mode 100644 index 0000000..39185fc --- /dev/null +++ b/src/server-function.ts @@ -0,0 +1,6 @@ +"use server"; + +export async function serverFunction() { + "use server"; + console.log("a function on the server"); +}