From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Proxmox Backup Server development discussion"
<pbs-devel@lists.proxmox.com>
Cc: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox v5 1/2] fix #5379: api-types: add `default` field for all realm types
Date: Fri, 21 Mar 2025 17:04:08 +0100 [thread overview]
Message-ID: <D8M2LB37M5BG.2GKO1DQCXJ43Q@proxmox.com> (raw)
In-Reply-To: <20250321134541.1106117-2-c.heiss@proxmox.com>
On Fri Mar 21, 2025 at 2:45 PM CET, Christoph Heiss wrote:
> The field indicates whether the realm should be the default realm to
> select in the login dialog.
>
> Per definition, the field should only ever be set to `true` on exactly
> one realm - up to the consumer/storage to ensure that.
>
> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
> ---
> Changes v4 -> v5:
> * rebased to `proxmox` repo
> * added "default" api type definition for `BasicRealmInfo`
>
> pbs-api-types/src/ad.rs | 7 +++++++
> pbs-api-types/src/ldap.rs | 7 +++++++
> pbs-api-types/src/lib.rs | 7 +++++++
> pbs-api-types/src/openid.rs | 7 +++++++
> 4 files changed, 28 insertions(+)
>
> diff --git a/pbs-api-types/src/ad.rs b/pbs-api-types/src/ad.rs
> index 910571a0..5c236325 100644
> --- a/pbs-api-types/src/ad.rs
> +++ b/pbs-api-types/src/ad.rs
> @@ -16,6 +16,10 @@ use super::{
> optional: true,
> schema: SINGLE_LINE_COMMENT_SCHEMA,
> },
> + "default": {
> + optional: true,
> + default: false,
> + },
> "verify": {
> optional: true,
> default: false,
> @@ -64,6 +68,9 @@ pub struct AdRealmConfig {
> /// Comment
> #[serde(skip_serializing_if = "Option::is_none")]
> pub comment: Option<String>,
> + /// True if it should be the default realm to login in
tiniest of nit: "realm to login in" sounds wrong. I think you could just
remove everything after realm.
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub default: Option<bool>,
> /// Connection security
> #[serde(skip_serializing_if = "Option::is_none")]
> pub mode: Option<LdapMode>,
> diff --git a/pbs-api-types/src/ldap.rs b/pbs-api-types/src/ldap.rs
> index a3e0407b..79735d93 100644
> --- a/pbs-api-types/src/ldap.rs
> +++ b/pbs-api-types/src/ldap.rs
> @@ -29,6 +29,10 @@ pub enum LdapMode {
> optional: true,
> schema: SINGLE_LINE_COMMENT_SCHEMA,
> },
> + "default": {
> + optional: true,
> + default: false,
> + },
> "verify": {
> optional: true,
> default: false,
> @@ -75,6 +79,9 @@ pub struct LdapRealmConfig {
> /// Comment
> #[serde(skip_serializing_if = "Option::is_none")]
> pub comment: Option<String>,
> + /// True if it should be the default realm to login in
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub default: Option<bool>,
> /// Connection security
> #[serde(skip_serializing_if = "Option::is_none")]
> pub mode: Option<LdapMode>,
> diff --git a/pbs-api-types/src/lib.rs b/pbs-api-types/src/lib.rs
> index acc2fca3..e3896000 100644
> --- a/pbs-api-types/src/lib.rs
> +++ b/pbs-api-types/src/lib.rs
> @@ -356,18 +356,25 @@ serde_plain::derive_fromstr_from_deserialize!(RealmType);
> optional: true,
> schema: SINGLE_LINE_COMMENT_SCHEMA,
> },
> + "default": {
> + optional: true,
> + default: false,
> + },
> },
> )]
> #[derive(Deserialize, Serialize, Clone, PartialEq)]
> #[serde(rename_all = "kebab-case")]
> /// Basic Information about a realm
> pub struct BasicRealmInfo {
> + /// Realm name
> pub realm: String,
> + // Realm type
nit: this is not a doc-comment, just a regular one
> #[serde(rename = "type")]
> pub ty: RealmType,
> /// True if it is the default realm
> #[serde(skip_serializing_if = "Option::is_none")]
> pub default: Option<bool>,
> + /// Optional comment for this realm
> #[serde(skip_serializing_if = "Option::is_none")]
> pub comment: Option<String>,
> }
> diff --git a/pbs-api-types/src/openid.rs b/pbs-api-types/src/openid.rs
> index 2c95c5c6..e8ec19d9 100644
> --- a/pbs-api-types/src/openid.rs
> +++ b/pbs-api-types/src/openid.rs
> @@ -80,6 +80,10 @@ pub const OPENID_USERNAME_CLAIM_SCHEMA: Schema = StringSchema::new(
> optional: true,
> schema: SINGLE_LINE_COMMENT_SCHEMA,
> },
> + "default": {
> + optional: true,
> + default: false,
> + },
> autocreate: {
> optional: true,
> default: false,
> @@ -111,6 +115,9 @@ pub struct OpenIdRealmConfig {
> pub client_key: Option<String>,
> #[serde(skip_serializing_if = "Option::is_none")]
> pub comment: Option<String>,
> + /// True if it should be the default realm to login in
> + #[serde(skip_serializing_if = "Option::is_none")]
> + pub default: Option<bool>,
> /// Automatically create users if they do not exist.
> #[serde(skip_serializing_if = "Option::is_none")]
> pub autocreate: Option<bool>,
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2025-03-21 16:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-21 13:45 [pbs-devel] [PATCH proxmox{, -backup} v5 00/11] fix #5379: introduce default auth realm option Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox v5 1/2] fix #5379: api-types: add `default` field for all realm types Christoph Heiss
2025-03-21 16:04 ` Shannon Sterz [this message]
2025-03-24 9:44 ` Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox v5 2/2] api-types: introduce proper types for PAM and PBS realms Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 03/11] fix #5379: api2: access: add `default` property for all realm types Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 04/11] fix #5379: api2: access: set default realm accordingly on individual update Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 05/11] config: use new dedicated PAM and PBS realm types Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 06/11] api2: access: add update support for built-in PAM realm Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 07/11] api2: access: add update support for built-in PBS realm Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 08/11] www: AccessControl: make `useTypeInUrl` property per-realm Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 09/11] www: AccessControl: enable default realm checkbox for all realms Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 10/11] www: utils: make built-in PBS realm editable using new AuthSimplePanel Christoph Heiss
2025-03-21 13:45 ` [pbs-devel] [PATCH proxmox-backup v5 11/11] docs: user-management: document `pam` and `pbs` authentication realm Christoph Heiss
2025-04-04 13:34 ` [pbs-devel] [PATCH proxmox{, -backup} v5 00/11] fix #5379: introduce default auth realm option Lukas Wagner
2025-04-05 17:12 ` [pbs-devel] applied-series: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D8M2LB37M5BG.2GKO1DQCXJ43Q@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=pbs-devel-bounces@lists.proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal