feat: 添加open api client管理命令
This commit is contained in:
42
app/command/OpenApiMgr/AddClient.php
Normal file
42
app/command/OpenApiMgr/AddClient.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
declare (strict_types = 1);
|
||||
|
||||
namespace app\command\OpenApiMgr;
|
||||
|
||||
use oauth\OAuthStorage;
|
||||
use think\console\Command;
|
||||
use think\console\Input;
|
||||
use think\console\input\Argument;
|
||||
use think\console\input\Option;
|
||||
use think\console\Output;
|
||||
|
||||
class AddClient extends Command
|
||||
{
|
||||
protected function configure()
|
||||
{
|
||||
// 指令配置
|
||||
$this->setName('OpenApiMgr:AddClient')
|
||||
->addArgument('salt', Argument::OPTIONAL, "开放API的client_secret密钥的盐值")
|
||||
->setDescription('开放API的client管理');
|
||||
}
|
||||
|
||||
protected function execute(Input $input, Output $output)
|
||||
{
|
||||
$salt = $input->getArgument('salt');
|
||||
$salt = empty($salt) ? null : trim($salt);
|
||||
|
||||
// 指令输出
|
||||
$oauth = new OAuthStorage($salt);
|
||||
|
||||
$client_id = random_str(13, 'all', 0);
|
||||
$client_secret = random_str(32, 'all', 0);
|
||||
|
||||
$ok = $oauth->addClient($client_id, $client_secret, null);
|
||||
if (!$ok) {
|
||||
$output->writeln("添加失败");
|
||||
return;
|
||||
}
|
||||
|
||||
$output->writeln("添加成功:\nClientID: {$client_id}\nClientSecret: {$client_secret}\n");
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,12 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | 控制台配置
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
return [
|
||||
// 指令定义
|
||||
'commands' => [
|
||||
'data:migrate' => \app\command\DataMigration::class,
|
||||
'openapi:addclient' => \app\command\OpenApiMgr\AddClient::class,
|
||||
],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user