token create: return also full token id for convenience

makes creating a client for this slightly nicer, as it doesn't needs
to be as state full.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2020-04-15 20:41:38 +02:00
parent 067d625ab2
commit 77bfb48e0d

View File

@ -600,6 +600,11 @@ __PACKAGE__->register_method ({
type => 'string',
description => 'API token value used for authentication.',
},
'full-tokenid' => {
type => 'string',
format_description => '<userid>!<tokenid>',
description => 'The full token id.',
},
},
},
code => sub {
@ -611,7 +616,7 @@ __PACKAGE__->register_method ({
my $usercfg = cfs_read_file("user.cfg");
my $token = PVE::AccessControl::check_token_exist($usercfg, $userid, $tokenid, 1);
my $value;
my ($full_tokenid, $value);
PVE::AccessControl::check_user_exist($usercfg, $userid);
raise_param_exc({ 'tokenid' => 'Token already exists.' }) if defined($token);
@ -621,7 +626,7 @@ __PACKAGE__->register_method ({
PVE::AccessControl::check_user_exist($usercfg, $userid);
die "Token already exists.\n" if defined(PVE::AccessControl::check_token_exist($usercfg, $userid, $tokenid, 1));
my $full_tokenid = PVE::AccessControl::join_tokenid($userid, $tokenid);
$full_tokenid = PVE::AccessControl::join_tokenid($userid, $tokenid);
$value = PVE::TokenConfig::generate_token($full_tokenid);
$token = {};
@ -635,7 +640,11 @@ __PACKAGE__->register_method ({
PVE::AccessControl::lock_user_config($generate_and_add_token, 'generating token failed');
return { info => $token, value => $value };
return {
info => $token,
value => $value,
'full-tokenid' => $full_tokenid,
};
}});