diff --git a/.env.sample b/.env.sample
index 5734649e..1dce7295 100644
--- a/.env.sample
+++ b/.env.sample
@@ -59,7 +59,7 @@ ADMIN_PASSWORD=adminPasswordIsNotSimple
USERFRONT_URL=https://sso.hmac.kr
# Services proxied via Nginx
-BACKEND_URL=${USERFRONT_URL}/api
+BACKEND_URL=${USERFRONT_URL}
OATHKEEPER_PUBLIC_URL=${USERFRONT_URL}
# ory-stack 변수들
diff --git a/devfront/src/app/routes.tsx b/devfront/src/app/routes.tsx
index 0a8c81d8..1586062e 100644
--- a/devfront/src/app/routes.tsx
+++ b/devfront/src/app/routes.tsx
@@ -17,7 +17,7 @@ export const router = createBrowserRouter(
element: ,
},
{
- path: "/callback",
+ path: "/auth/callback",
element: ,
},
{
diff --git a/devfront/src/lib/apiClient.ts b/devfront/src/lib/apiClient.ts
index 1d231cb1..49b83cee 100644
--- a/devfront/src/lib/apiClient.ts
+++ b/devfront/src/lib/apiClient.ts
@@ -29,7 +29,7 @@ apiClient.interceptors.response.use(
async (error) => {
if (error.response?.status === 401) {
// 401 발생 시 로그인 페이지로 리다이렉트
- const isAuthPath = window.location.pathname.startsWith("/callback");
+ const isAuthPath = window.location.pathname.startsWith("/auth/callback");
const isLoginPath = window.location.pathname === "/login";
const user = await userManager.getUser();
// 인증 토큰이 없는 경우에만 로그인으로 보낸다.
diff --git a/devfront/src/lib/auth.ts b/devfront/src/lib/auth.ts
index 59670a04..f424d9d9 100644
--- a/devfront/src/lib/auth.ts
+++ b/devfront/src/lib/auth.ts
@@ -5,11 +5,11 @@ export const oidcConfig: AuthProviderProps = {
authority:
import.meta.env.VITE_OIDC_AUTHORITY || "http://localhost:5000/oidc", // Gateway Proxy URL
client_id: import.meta.env.VITE_OIDC_CLIENT_ID || "devfront",
- redirect_uri: `${window.location.origin}/callback`,
+ redirect_uri: `${window.location.origin}/auth/callback`,
response_type: "code",
scope: "openid offline_access profile email", // offline_access for refresh token
post_logout_redirect_uri: window.location.origin,
- popup_redirect_uri: `${window.location.origin}/callback`,
+ popup_redirect_uri: `${window.location.origin}/auth/callback`,
userStore: new WebStorageStateStore({ store: window.localStorage }),
automaticSilentRenew: true,
};