From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 006CA1FF0E1 for ; Mon, 10 Aug 2026 14:36:47 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 5A63121725; Mon, 10 Aug 2026 14:36:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=azharul.com; s=t28hkp5; t=1786340387; x=1786945187; darn=lists.proxmox.com; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=blXQ8Xun2X08jUSR7rZKZOcpAUw7J/Wf5JyT7xBudVo=; b=eajCmUT5myp7+PCdhC28PB5wiIUkD8ewPOq6dL2/e9i0V27P0+NqVwnW0CeUIrUFT3 yddzapomqB4uQiUoia9Y9hCrHXNoDzq5cAl2wAw6mLesYYflzVSVHIdf2IQxvHgLFN1o L/bSIBVU4Cv9lLuby4/slN5OusOEOBZU5yygcS1VIAEhztiHRpSPmLa2+7iBixlSNDx6 6f5cbOwCyw8ngJYG1Z1KVqF1f9EHHs1TKRi0zqdyMYd8ItzX2ckh5aQNyzC+gOUEdZ6z JG+pMY6IzvHY7u/EyD22pRhiGkbr950eukB+jLRmuHq72eJQVSdRAjlJP8LW18Eg+I7A 1g/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786340387; x=1786945187; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=blXQ8Xun2X08jUSR7rZKZOcpAUw7J/Wf5JyT7xBudVo=; b=AyMqcrK9qjvK1Zl49KNuOv21advb4m6lRsNHVANOlbQZKW660kokzqUIoUv2ySrkfs fIi10e3nijVbw5EGpOp5PvF/PZo/urGCkyyOk4WQ10KZzhOHFKHC50TEptA31j+QucSd d/O0hnvW0t4BaohuWAM4+o0hmdjTl3387cKclnGg0SOkQBdUz7D8Blb2QN1zW80U17pv 352bXjVc9oqlH5bswPhOdOT/5tO47iIyZnIW3FEzO4R9ND2sdMhXEn5QiG3IdpuYuA6y gjiNCYn5SkggEW6Obp8qC/GfxZxoJjEXd6RQelHil8wJ2Sejq1JyvhzxFVI9sq4e53xE W0cQ== X-Gm-Message-State: AOJu0YwN50WBDVaG++x0T9wO4CFL2Gue6fy8Gql8PmRmbjnM/OAh1rD7 BYyeSv3WF3MOGwlt92Gztdkyge4FLjZpqsTRLXcipSQUiQks2thPyrwpIwtF82lngNsIHkVmlLK zE0I9XQ== X-Gm-Gg: AR+sD11xSpnEgUA+8sRYMp4wPhBzVYRZlF0W4p85K7hX4FFa0+9ey9hO2UnQ/6Ky8x9 6euggoNYzxGi6kkLyrZwX4OCZ5VlACfP5C9vODJ8QBUhY1ATzVDXxk+gFRleYlFwBA4lyCdsIU3 DaMIm96boy0+3nPsvJWq5d3jIkba4SnkiuGfCRW1fpzShFf+i1UM6UbwmeGE5gzqgXDv6OVnyoK ttGloeFYZpiGXcawYjyGFnnOkYpwkYnSXCUIdPZTs9iPPR342aQYMdWUp8Saj04DTFsqhMG9c5M iocTDO8at4qhqazTU0HPoewSKgHe8SIXZ+48c48iCw6BS5RXif09ZL4UDK0LZnVr68Zds070Xy3 56Fw938CvWPuuR6pl9rXAG1VHEtQF5NWHv0v0HzH1Mkh5P6PwB0axpoBJzuR+p3PL8MbbCTDDPd qsjPzp8Z7V259rwXmidNa7Z6XLvnUPkFMtnC11txXVChlhXN1XDixMJ0ZoZLJ6BweG9hm+8rzBc o4FAj5zfGmg3s1bNcTgMCkiF3zoFdaOt1cQZXsEfoOmolfmgaatU3n1O8/QO27RtFHAHtPf/3AA u4af8J+BNsuqVKfjFlHoP7bhsjCKA8sWJ/b2iYk4TJzOgPRzdamhEkn2S3g/VQPfvA8v2BtFiWT 9zFmL7+EEpK42fmGWRmMtwsXR9rM= X-Received: by 2002:a05:620a:294b:b0:936:30cb:efa8 with SMTP id af79cd13be357-936798bbf63mr1671950285a.25.1786340386837; Sun, 09 Aug 2026 22:39:46 -0700 (PDT) From: Azharul Haque To: pve-devel@lists.proxmox.com Subject: [PATCH 0/3] ui: implement OpenID Connect login flow for #4281 Date: Mon, 10 Aug 2026 01:39:38 -0400 Message-ID: <20260810053941.17000-1-haque@azharul.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.294 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-MailFrom: haque@azharul.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation Message-ID-Hash: K52JZKIMZSEBNUZBU5ASMNVKJL4WDPMA X-Message-ID-Hash: K52JZKIMZSEBNUZBU5ASMNVKJL4WDPMA X-Mailman-Approved-At: Mon, 10 Aug 2026 14:36:15 +0200 CC: haque@azharul.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The native Flutter "Proxmox VE Companion" app never implemented OpenID Connect / OAuth realm login (bug #4281[0]): selecting an OAuth realm just showed username/password fields that could never work. This series adds the login-form side of OIDC support: - hide username/password fields for OpenID realms and drive the OAuth flow via flutter_web_auth_2 (system browser / ASWebAuthenticationSession on iOS, Chrome Custom Tabs on Android -- deliberately not an in-app webview) - fix a stale Continue button enabled/disabled state when switching realms mid-flow - namespace the OpenID redirect scheme under Proxmox's own reserved com.proxmox.* package prefix, to avoid custom-URL-scheme collisions with other apps on Android Depends on the `type` property added to PveAccessDomainModel in the companion proxmox_dart_api_client series. A further companion series to pve_flutter_frontend registers the Android-side callback activity for the scheme used here; no iOS-side wiring is required, since ASWebAuthenticationSession resolves the custom-scheme redirect at runtime without a static declaration. Verified end-to-end against a real PVE server with an Authentik OIDC realm, on both Android and iOS. [0] https://bugzilla.proxmox.com/show_bug.cgi?id=4281 Azharul Haque (3): fix #4281: ui: add OpenID Connect login flow to login form fix #4281: ui: fix stale Continue button state on realm switch fix #4281: ui: use a namespaced OpenID callback scheme lib/proxmox_login_form.dart | 451 ++++++++++++++++++++++++------------ pubspec.lock | 160 +++++++++++-- pubspec.yaml | 1 + 3 files changed, 441 insertions(+), 171 deletions(-) -- 2.50.1 (Apple Git-155)