[pmg-devel] [PATCH pmg-api v7 7/12] api: users: create user with a specified realm

Mira Limbeck m.limbeck at proxmox.com
Wed Feb 26 13:51:56 CET 2025



On 2/26/25 12:38, Markus Frank wrote:
> Signed-off-by: Markus Frank <m.frank at proxmox.com>
> ---
>  src/PMG/API2/Users.pm | 3 +++
>  src/PMG/UserConfig.pm | 1 -
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PMG/API2/Users.pm b/src/PMG/API2/Users.pm
> index 42c82b7..834ae87 100644
> --- a/src/PMG/API2/Users.pm
> +++ b/src/PMG/API2/Users.pm
> @@ -111,6 +111,9 @@ __PACKAGE__->register_method ({
>  	    die "User '$param->{userid}' already exists\n"
>  		if $cfg->{$param->{userid}};
>  
> +	    die "Currently you cannot create user in the PAM realm\n"
> +		if $param->{realm} eq 'pam';
when creating the user via `pmgsh` no realm is required
if no realm is specified, it results in this:
```
pmg:/access/users> create --role audit --userid test123 at oid-authentik
Use of uninitialized value in string eq at
/usr/share/perl5/PMG/API2/Users.pm line 115.
200 OK
```

since we specify a userid (username at realm), we could extract the realm
from the userid

> +
>  	    my $entry = {};
>  	    foreach my $k (keys %$param) {
>  		my $v = $param->{$k};
> diff --git a/src/PMG/UserConfig.pm b/src/PMG/UserConfig.pm
> index fe6d2c8..9a6f142 100644
> --- a/src/PMG/UserConfig.pm
> +++ b/src/PMG/UserConfig.pm
> @@ -141,7 +141,6 @@ my $schema = {
>  
>  our $create_schema = clone($schema);
>  delete $create_schema->{properties}->{username};
> -delete $create_schema->{properties}->{realm};
>  $create_schema->{properties}->{password} = {
>      description => "Password",
>      type => 'string',





More information about the pmg-devel mailing list