From f8b17f79cb651970361ae3c9ceeaf426e0fd8e5c Mon Sep 17 00:00:00 2001 From: kyy Date: Fri, 30 Jan 2026 10:08:44 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B0=9C=EC=9E=90=20=EB=9D=BC?= =?UTF-8?q?=EC=9A=B0=ED=84=B0=20api=20->=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/cmd/server/main.go | 19 ++++++++++--------- devfront/src/lib/devApi.ts | 24 ++++++++++++------------ 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/backend/cmd/server/main.go b/backend/cmd/server/main.go index f69a1d6e..de360afa 100644 --- a/backend/cmd/server/main.go +++ b/backend/cmd/server/main.go @@ -475,15 +475,16 @@ func main() { admin.Post("/api-keys", apiKeyHandler.CreateApiKey) admin.Delete("/api-keys/:id", apiKeyHandler.DeleteApiKey) - // 개발자 포털 라우트 (RP/Consent 관리) - api.Get("/clients", devHandler.ListClients) - api.Post("/clients", devHandler.CreateClient) - api.Get("/clients/:id", devHandler.GetClient) - api.Put("/clients/:id", devHandler.UpdateClient) - api.Patch("/clients/:id/status", devHandler.UpdateClientStatus) - api.Delete("/clients/:id", devHandler.DeleteClient) - api.Get("/consents", devHandler.ListConsents) - api.Delete("/consents", devHandler.RevokeConsents) + // 개발자 포털 라우트 (RP/Consent 관리 및 IdP 설정) + dev := api.Group("/dev") + dev.Get("/clients", devHandler.ListClients) + dev.Post("/clients", devHandler.CreateClient) + dev.Get("/clients/:id", devHandler.GetClient) + dev.Put("/clients/:id", devHandler.UpdateClient) + dev.Patch("/clients/:id/status", devHandler.UpdateClientStatus) + dev.Delete("/clients/:id", devHandler.DeleteClient) + dev.Get("/consents", devHandler.ListConsents) + dev.Delete("/consents", devHandler.RevokeConsents) // Webhook for Descope Generic SMS Gateway auth.Post("/webhooks/descope-sms", authHandler.HandleDescopeSmsRelay) diff --git a/devfront/src/lib/devApi.ts b/devfront/src/lib/devApi.ts index 794809f8..cbed9191 100644 --- a/devfront/src/lib/devApi.ts +++ b/devfront/src/lib/devApi.ts @@ -91,13 +91,13 @@ export type IdpConfigUpdateRequest = Partial; export async function fetchClients() { - const { data } = await apiClient.get("/clients"); + const { data } = await apiClient.get("/dev/clients"); return data; } export async function fetchClient(clientId: string) { const { data } = await apiClient.get( - `/clients/${clientId}`, + `/dev/clients/${clientId}`, ); return data; } @@ -107,7 +107,7 @@ export async function updateClientStatus( status: ClientStatus, ) { const { data } = await apiClient.patch( - `/clients/${clientId}/status`, + `/dev/clients/${clientId}/status`, { status }, ); return data; @@ -115,7 +115,7 @@ export async function updateClientStatus( export async function createClient(payload: ClientUpsertRequest) { const { data } = await apiClient.post( - "/clients", + "/dev/clients", payload, ); return data; @@ -126,14 +126,14 @@ export async function updateClient( payload: ClientUpsertRequest, ) { const { data } = await apiClient.put( - `/clients/${clientId}`, + `/dev/clients/${clientId}`, payload, ); return data; } export async function deleteClient(clientId: string) { - await apiClient.delete(`/clients/${clientId}`); + await apiClient.delete(`/dev/clients/${clientId}`); } export async function fetchConsents(subject: string, clientId?: string) { @@ -141,7 +141,7 @@ export async function fetchConsents(subject: string, clientId?: string) { if (clientId) { params.client_id = clientId; } - const { data } = await apiClient.get("/consents", { + const { data } = await apiClient.get("/dev/consents", { params, }); return data; @@ -152,21 +152,21 @@ export async function revokeConsent(subject: string, clientId?: string) { if (clientId) { params.client_id = clientId; } - await apiClient.delete("/consents", { params }); + await apiClient.delete("/dev/consents", { params }); } // --- Federation / IdP Config API Calls --- export async function listIdpConfigsForClient(clientId: string) { const { data } = await apiClient.get( - `/clients/${clientId}/idps`, + `/dev/clients/${clientId}/idps`, ); return data; } export async function createIdpConfigForClient(payload: IdpConfigCreateRequest) { const { data } = await apiClient.post( - `/clients/${payload.client_id}/idps`, + `/dev/clients/${payload.client_id}/idps`, payload, ); return data; @@ -178,12 +178,12 @@ export async function updateIdpConfig( payload: IdpConfigUpdateRequest, ) { const { data } = await apiClient.put( - `/clients/${clientId}/idps/${idpId}`, + `/dev/clients/${clientId}/idps/${idpId}`, payload, ); return data; } export async function deleteIdpConfig(clientId: string, idpId: string) { - await apiClient.delete(`/clients/${clientId}/idps/${idpId}`); + await apiClient.delete(`/dev/clients/${clientId}/idps/${idpId}`); }