diff --git a/devfront/src/features/clients/ClientDetailsPage.tsx b/devfront/src/features/clients/ClientDetailsPage.tsx index 82e43d43..7a502957 100644 --- a/devfront/src/features/clients/ClientDetailsPage.tsx +++ b/devfront/src/features/clients/ClientDetailsPage.tsx @@ -213,11 +213,15 @@ function ClientDetailsPage() { }, ]; - // Client Secret from API + const hasClientSecret = client.type === "private"; const secretPlaceholder = "SECRET_NOT_AVAILABLE"; - const clientSecret = client?.clientSecret || secretPlaceholder; + const clientSecret = hasClientSecret + ? client?.clientSecret || secretPlaceholder + : t("ui.common.na", "N/A"); const displaySecret = - clientSecret === secretPlaceholder + !hasClientSecret + ? t("msg.dev.clients.details.secret_not_applicable", "PKCE 앱에는 Client Secret이 없습니다.") + : clientSecret === secretPlaceholder ? t("msg.dev.clients.details.secret_unavailable", "SECRET_NOT_AVAILABLE") : clientSecret; @@ -327,61 +331,73 @@ function ClientDetailsPage() { {showSecret ? displaySecret : "••••••••••••••••"}

- + + + toast( + t( + "msg.dev.clients.details.copy_client_secret", + "Client Secret이 복사되었습니다.", + ), ) - : t( - "ui.dev.clients.details.secret.show", - "비밀키 보기", - ) - } - > - {showSecret ? ( - - ) : ( - - )} - - - - toast( - t( - "msg.dev.clients.details.copy_client_secret", - "Client Secret이 복사되었습니다.", - ), - ) - } - /> + } + /> + + ) : null}
+ {!hasClientSecret ? ( +

+ {t( + "msg.dev.clients.details.secret_not_applicable", + "PKCE 앱에는 Client Secret이 없습니다.", + )} +

+ ) : null} diff --git a/devfront/src/locales/en.toml b/devfront/src/locales/en.toml index 17077a4a..edfdf75a 100644 --- a/devfront/src/locales/en.toml +++ b/devfront/src/locales/en.toml @@ -362,6 +362,7 @@ create_forbidden = "You do not have permission to create this RP. Ask an adminis save_error = "Save Error" save_forbidden = "You do not have permission to edit this RP. Ask an administrator to grant RP General Settings or RP Admin relationship." secret_rotated = "Secret Rotated" +secret_not_applicable = "PKCE apps do not have a client secret." secret_unavailable = "SECRET_NOT_AVAILABLE" subtitle = "Manage OIDC credentials and endpoints." diff --git a/devfront/src/locales/ko.toml b/devfront/src/locales/ko.toml index b46e0428..fa373fed 100644 --- a/devfront/src/locales/ko.toml +++ b/devfront/src/locales/ko.toml @@ -362,6 +362,7 @@ create_forbidden = "이 RP를 생성할 권한이 없습니다.\n관리자에게 save_error = "저장 실패: {{error}}" save_forbidden = "이 RP 설정을 수정할 권한이 없습니다.\n관리자에게 RP 일반 설정 또는 RP 관리자 관계 부여를 요청해 주세요." secret_rotated = "Client Secret이 재발급되었습니다." +secret_not_applicable = "PKCE 앱에는 Client Secret이 없습니다." secret_unavailable = "SECRET_NOT_AVAILABLE" subtitle = "OIDC 자격 증명과 엔드포인트를 관리합니다." diff --git a/devfront/src/locales/template.toml b/devfront/src/locales/template.toml index 91f3e09d..c8eaae93 100644 --- a/devfront/src/locales/template.toml +++ b/devfront/src/locales/template.toml @@ -408,6 +408,7 @@ create_forbidden = "" save_error = "" save_forbidden = "" secret_rotated = "" +secret_not_applicable = "" secret_unavailable = "" subtitle = ""