런처 관리자 증표 응답 추가
This commit is contained in:
1 parent
b22dfd5632
commit
6f17b15f4b
1 file changed
+18
-1
@@ -27,6 +27,19 @@ function launcher_is_digit_password(string $password): bool
|
||||
return preg_match('/^\d{4}$/', $password) === 1;
|
||||
}
|
||||
|
||||
function launcher_admin_assertion(array $config): string
|
||||
{
|
||||
$body = base64_encode(json_encode([
|
||||
'aud' => 'car-monitor',
|
||||
'admin' => true,
|
||||
'iat' => time(),
|
||||
'exp' => time() + 120,
|
||||
], JSON_UNESCAPED_SLASHES));
|
||||
$sig = hash_hmac('sha256', $body, (string)($config['auth']['secret'] ?? ''));
|
||||
|
||||
return $body . '.' . $sig;
|
||||
}
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$data = custom_read_request_data();
|
||||
$action = $data['action'] ?? 'login';
|
||||
@@ -114,7 +127,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
if ($isAdmin) {
|
||||
custom_issue_auth_cookie(true);
|
||||
}
|
||||
custom_json(['admin' => $isAdmin, 'authenticated' => $isAdmin]);
|
||||
custom_json([
|
||||
'admin' => $isAdmin,
|
||||
'authenticated' => $isAdmin,
|
||||
'assertion' => $isAdmin ? launcher_admin_assertion($config) : '',
|
||||
]);
|
||||
}
|
||||
|
||||
if (isset($_GET['failMessages'])) {
|
||||
|
||||
Reference in new issue
Block a user