Insomnia: login uses env vars and auto-stores JWT token

- Login body uses {{ _.email }} and {{ _.password }} from environment
- afterResponseScript: auto-extracts token from response and sets jwt_token env var
- All other requests use {{ _.jwt_token }} automatically
- Flow: set email+password in env → send login → jwt_token is set → all routes work

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-23 19:42:26 +01:00
parent bb35e0d8ae
commit 085967f57f

View File

@@ -79,7 +79,15 @@ class ApiDocController extends AbstractController
}
$body = null;
if ($endpoint['request']) {
if ($isAuth) {
$body = [
'mimeType' => 'application/json',
'text' => json_encode([
'email' => '{{ _.email }}',
'password' => '{{ _.password }}',
], \JSON_PRETTY_PRINT | \JSON_UNESCAPED_UNICODE),
];
} elseif ($endpoint['request']) {
$example = [];
foreach ($endpoint['request'] as $name => $field) {
$example[$name] = $field['example'] ?? '';
@@ -90,7 +98,7 @@ class ApiDocController extends AbstractController
];
}
$resources[] = [
$req = [
'_type' => 'request',
'_id' => 'req_'.$folderIndex.'_'.$reqIndex,
'parentId' => $folderId,
@@ -100,6 +108,12 @@ class ApiDocController extends AbstractController
'headers' => $headers,
'body' => $body,
];
if ($isAuth) {
$req['afterResponseScript'] = "const res = insomnia.response.json();\nif (res.success && res.data && res.data.token) {\n insomnia.environment.set('jwt_token', res.data.token);\n}";
}
$resources[] = $req;
}
}