API接口-authtoken

This commit is contained in:
2026-03-20 10:55:43 +08:00
parent 4f61c9d7fc
commit 5c71376713

View File

@@ -27,8 +27,8 @@ class Auth extends Api
protected int $timeTolerance = 300;
/**
* 获取鉴权 Token
* 参数signature(签名)、secret(密钥)、agent_id(代理)、time(时间戳)
* 获取鉴权 TokenGET 请求)
* 参数仅从 Query 读取signature、secret、agent_id、time
* 返回authtoken失败返回 code=0 及失败信息
*/
public function authToken(Request $request): Response
@@ -38,13 +38,13 @@ class Auth extends Api
return $response;
}
$signature = $request->post('signature', $request->get('signature', ''));
$secret = $request->post('secret', $request->get('secret', ''));
$agentId = $request->post('agent_id', $request->get('agent_id', ''));
$time = $request->post('time', $request->get('time', ''));
$signature = $request->get('signature', '');
$secret = $request->get('secret', '');
$agentId = $request->get('agent_id', '');
$time = $request->get('time', '');
if ($signature === '' || $secret === '' || $agentId === '' || $time === '') {
return $this->error(__('Parameter %s can not be empty', ['signature/secret/agent_id/time']));
return $this->error(__('Parameter signature/secret/agent_id/time can not be empty'));
}
$timestamp = (int) $time;
@@ -76,7 +76,7 @@ class Auth extends Api
return $this->error(__('Invalid agent or secret'));
}
$expectedSignature = hash_hmac('sha256', $agentId . $time, $channel->secret);
$expectedSignature = strtoupper(md5($agentId . $secret . $time));
if (!hash_equals($expectedSignature, $signature)) {
return $this->error(__('Invalid signature'));
}