From a598cda62464096dd018ad3d301a6a89661e77aa Mon Sep 17 00:00:00 2001 From: sanish-bruno Date: Fri, 13 Jun 2025 14:16:02 +0530 Subject: [PATCH 1/2] fix: handle undefined bearer token to send an empty string instead --- packages/bruno-cli/src/runner/prepare-request.js | 4 ++-- packages/bruno-electron/src/ipc/network/prepare-request.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/bruno-cli/src/runner/prepare-request.js b/packages/bruno-cli/src/runner/prepare-request.js index 5de2f3a42..9c2493a35 100644 --- a/packages/bruno-cli/src/runner/prepare-request.js +++ b/packages/bruno-cli/src/runner/prepare-request.js @@ -47,7 +47,7 @@ const prepareRequest = (item = {}, collection = {}) => { } if (collectionAuth.mode === 'bearer') { - axiosRequest.headers['Authorization'] = `Bearer ${get(collectionAuth, 'bearer.token')}`; + axiosRequest.headers['Authorization'] = `Bearer ${get(collectionAuth, 'bearer.token', '')}`; } if (collectionAuth.mode === 'apikey') { @@ -174,7 +174,7 @@ const prepareRequest = (item = {}, collection = {}) => { } if (request.auth.mode === 'bearer') { - axiosRequest.headers['Authorization'] = `Bearer ${get(request, 'auth.bearer.token')}`; + axiosRequest.headers['Authorization'] = `Bearer ${get(request, 'auth.bearer.token', '')}`; } if (request.auth.mode === 'wsse') { diff --git a/packages/bruno-electron/src/ipc/network/prepare-request.js b/packages/bruno-electron/src/ipc/network/prepare-request.js index 9efa56e45..25926689b 100644 --- a/packages/bruno-electron/src/ipc/network/prepare-request.js +++ b/packages/bruno-electron/src/ipc/network/prepare-request.js @@ -27,7 +27,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => { }; break; case 'bearer': - axiosRequest.headers['Authorization'] = `Bearer ${get(collectionAuth, 'bearer.token')}`; + axiosRequest.headers['Authorization'] = `Bearer ${get(collectionAuth, 'bearer.token', '')}`; break; case 'digest': axiosRequest.digestConfig = { @@ -152,7 +152,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => { }; break; case 'bearer': - axiosRequest.headers['Authorization'] = `Bearer ${get(request, 'auth.bearer.token')}`; + axiosRequest.headers['Authorization'] = `Bearer ${get(request, 'auth.bearer.token', '')}`; break; case 'digest': axiosRequest.digestConfig = { From 66fe1528dffd985e8cbd4bf15a77031df040602d Mon Sep 17 00:00:00 2001 From: sanish-bruno Date: Fri, 13 Jun 2025 14:42:57 +0530 Subject: [PATCH 2/2] add: new Bearer Auth undefined test case and update Authorization header format --- .../bearer/via auth/Bearer Auth undefined.bru | 27 +++++++++++++++++++ .../bearer/via headers/Bearer Auth 200.bru | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 packages/bruno-tests/collection/auth/bearer/via auth/Bearer Auth undefined.bru diff --git a/packages/bruno-tests/collection/auth/bearer/via auth/Bearer Auth undefined.bru b/packages/bruno-tests/collection/auth/bearer/via auth/Bearer Auth undefined.bru new file mode 100644 index 000000000..43298cfd4 --- /dev/null +++ b/packages/bruno-tests/collection/auth/bearer/via auth/Bearer Auth undefined.bru @@ -0,0 +1,27 @@ +meta { + name: Bearer Auth undefined + type: http + seq: 2 +} + +get { + url: {{host}}/api/auth/bearer/protected + body: none + auth: bearer +} + +headers { + Authorization: Bearer {{bearer_auth_token}} +} + +assert { + res.body.message: eq Unauthorized + res.status: eq 401 +} + +tests { + test("selected auth overrides Authorization header always", function() { + const authHeader = req.getHeader("Authorization") + expect(authHeader).to.eql("Bearer ") + }) +} diff --git a/packages/bruno-tests/collection/auth/bearer/via headers/Bearer Auth 200.bru b/packages/bruno-tests/collection/auth/bearer/via headers/Bearer Auth 200.bru index a837bdd7e..0989e0fba 100644 --- a/packages/bruno-tests/collection/auth/bearer/via headers/Bearer Auth 200.bru +++ b/packages/bruno-tests/collection/auth/bearer/via headers/Bearer Auth 200.bru @@ -11,7 +11,7 @@ get { } headers { - Authorization: Bearer your_secret_token + Authorization: Bearer {{bearer_auth_token}} } vars:pre-request {