From 4ad1ccf5dd7588203a0a4338b0fc0115d0a5bb69 Mon Sep 17 00:00:00 2001 From: jubnl Date: Fri, 10 Apr 2026 06:03:29 +0200 Subject: [PATCH] fix(oauth): gate scope selection UI to DCR clients only Settings-created clients have fixed scopes chosen at creation time and should show a read-only scope list on the consent screen. Only DCR-registered clients expose the interactive checkbox UI for user-controlled scope selection. --- client/src/pages/OAuthAuthorizePage.tsx | 109 +++++++++++++++--------- server/src/services/oauthService.ts | 3 + 2 files changed, 72 insertions(+), 40 deletions(-) diff --git a/client/src/pages/OAuthAuthorizePage.tsx b/client/src/pages/OAuthAuthorizePage.tsx index 1e4e0d4e..43a114df 100644 --- a/client/src/pages/OAuthAuthorizePage.tsx +++ b/client/src/pages/OAuthAuthorizePage.tsx @@ -12,6 +12,7 @@ interface ValidateResult { scopes?: string[] consentRequired?: boolean loginRequired?: boolean + scopeSelectable?: boolean } type PageState = 'loading' | 'login_required' | 'consent' | 'auto_approving' | 'error' | 'done' @@ -216,14 +217,16 @@ export default function OAuthAuthorizePage(): React.ReactElement {