From b8288c0d33e36e561bba5150ea2b9d0102265a14 Mon Sep 17 00:00:00 2001 From: NamesMT Date: Thu, 6 Jun 2024 13:20:40 +0000 Subject: [PATCH] feat: configure cors for apiClient for different domains usecase --- apps/backend/.env | 2 ++ apps/backend/.env.local | 8 ++++++++ apps/backend/src/index.ts | 6 ++++-- apps/frontend/app/plugins/rpcApi.ts | 8 +++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/apps/backend/.env b/apps/backend/.env index fe216b81..c631c78a 100644 --- a/apps/backend/.env +++ b/apps/backend/.env @@ -1,3 +1,5 @@ +# FRONTEND_URL=https://YOUR_FRONTEND_URL + # KINDE_DOMAIN=https://.kinde.com # KINDE_CLIENT_ID= # KINDE_CLIENT_SECRET= diff --git a/apps/backend/.env.local b/apps/backend/.env.local index ae565302..530deebc 100644 --- a/apps/backend/.env.local +++ b/apps/backend/.env.local @@ -1,3 +1,11 @@ NODE_ENV=development APP_DEV_host=127.0.0.1 APP_DEV_port=3301 + +FRONTEND_URL=https://127.0.0.1:3300 + +# KINDE_DOMAIN=https://.kinde.com +# KINDE_CLIENT_ID= +# KINDE_CLIENT_SECRET= +# KINDE_REDIRECT_URI=http://localhost:3000/callback +# KINDE_LOGOUT_REDIRECT_URI=https://.kinde.com/logged-out diff --git a/apps/backend/src/index.ts b/apps/backend/src/index.ts index b79cdcb0..39302911 100644 --- a/apps/backend/src/index.ts +++ b/apps/backend/src/index.ts @@ -1,7 +1,7 @@ import { handle } from '@namesmt/hono-adapter-aws-lambda' import { Hono } from 'hono' import { cors } from 'hono/cors' -import { isDevelopment } from 'std-env' +import { env, isDevelopment } from 'std-env' import type { HonoEnv } from './types' import { devAdapter, tryServeApp } from './dev' @@ -15,7 +15,9 @@ if (isDevelopment) export const app = _app // CORS middleware - .use(cors()) + .use(cors({ + origin: ['127.0.0.1', new URL(env.FRONTEND_URL!).hostname], + })) // Session management middleware .use(sessionMiddleware()) diff --git a/apps/frontend/app/plugins/rpcApi.ts b/apps/frontend/app/plugins/rpcApi.ts index bdda6d94..1d6d573b 100644 --- a/apps/frontend/app/plugins/rpcApi.ts +++ b/apps/frontend/app/plugins/rpcApi.ts @@ -13,9 +13,11 @@ export default defineNuxtPlugin({ const callProxy = enableProxy === 'auto' ? urlBackend.hostname === url.hostname : enableProxy - const apiClient = hc(callProxy - ? `https://${url.host}` - : backendUrl, + const apiClient = hc( + callProxy + ? `https://${url.host}` + : backendUrl, + { init: { credentials: 'include' } }, ) return {