You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2026/07/07 18:35:40 UTC
(couchdb) branch jwtf-error-messages created (now 14c5c20dd)
This is an automated email from the ASF dual-hosted git repository.
rnewson pushed a change to branch jwtf-error-messages
in repository https://gitbox.apache.org/repos/asf/couchdb.git
at 14c5c20dd improve JWT error messages
This branch includes the following new commits:
new 14c5c20dd improve JWT error messages
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(couchdb) 01/01: improve JWT error messages
Posted by rn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rnewson pushed a commit to branch jwtf-error-messages
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 14c5c20ddfd3d354c42ed4d1baba0ad2ce25b382
Author: Robert Newson <rn...@apache.org>
AuthorDate: Tue Jul 7 19:35:25 2026 +0100
improve JWT error messages
---
src/jwtf/src/jwtf.erl | 8 ++++----
src/jwtf/test/jwtf_tests.erl | 14 +++++++-------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/jwtf/src/jwtf.erl b/src/jwtf/src/jwtf.erl
index 4c4a3e8ba..98cafebb4 100644
--- a/src/jwtf/src/jwtf.erl
+++ b/src/jwtf/src/jwtf.erl
@@ -297,7 +297,7 @@ public_key_verify(Algorithm, Message, Signature, PublicKey) ->
true ->
ok;
false ->
- throw({bad_request, <<"Bad signature">>})
+ throw({bad_request, <<"Bad signature in authentication token">>})
end.
hmac_verify(Algorithm, Message, HMAC, SecretKey) ->
@@ -305,7 +305,7 @@ hmac_verify(Algorithm, Message, HMAC, SecretKey) ->
HMAC ->
ok;
_ ->
- throw({bad_request, <<"Bad HMAC">>})
+ throw({bad_request, <<"Bad HMAC in authentication token">>})
end.
jose_to_der(Signature) ->
@@ -325,7 +325,7 @@ rs_len(<<"ES", SizeBin/binary>>) ->
split(EncodedToken) ->
case binary:split(EncodedToken, <<$.>>, [global]) of
[_, _, _] = Split -> Split;
- _ -> throw({bad_request, <<"Malformed token">>})
+ _ -> throw({bad_request, <<"Malformed authentication token">>})
end.
decode_passthrough(B64UrlEncoded) ->
@@ -341,7 +341,7 @@ decode_b64url_json(B64UrlEncoded) ->
end
catch
_:_ ->
- throw({bad_request, <<"Malformed token">>})
+ throw({bad_request, <<"Malformed authentication token">>})
end.
props({Props}) ->
diff --git a/src/jwtf/test/jwtf_tests.erl b/src/jwtf/test/jwtf_tests.erl
index 40b190f52..51991ce28 100644
--- a/src/jwtf/test/jwtf_tests.erl
+++ b/src/jwtf/test/jwtf_tests.erl
@@ -49,28 +49,28 @@ jwt_io_ec_pubkey() ->
b64_badarg_test() ->
Encoded = <<"0.0.0">>,
?assertEqual(
- {error, {bad_request, <<"Malformed token">>}},
+ {error, {bad_request, <<"Malformed authentication token">>}},
jwtf:decode(Encoded, [], nil)
).
b64_bad_block_test() ->
Encoded = <<" aGVsbG8. aGVsbG8. aGVsbG8">>,
?assertEqual(
- {error, {bad_request, <<"Malformed token">>}},
+ {error, {bad_request, <<"Malformed authentication token">>}},
jwtf:decode(Encoded, [], nil)
).
invalid_json_test() ->
Encoded = <<"fQ.fQ.fQ">>,
?assertEqual(
- {error, {bad_request, <<"Malformed token">>}},
+ {error, {bad_request, <<"Malformed authentication token">>}},
jwtf:decode(Encoded, [], nil)
).
truncated_json_test() ->
Encoded = <<"ew.ew.ew">>,
?assertEqual(
- {error, {bad_request, <<"Malformed token">>}},
+ {error, {bad_request, <<"Malformed authentication token">>}},
jwtf:decode(Encoded, [], nil)
).
@@ -190,7 +190,7 @@ bad_rs256_sig_test() ->
),
KS = fun(<<"RS256">>, undefined) -> jwt_io_rsa_pubkey() end,
?assertEqual(
- {error, {bad_request, <<"Bad signature">>}},
+ {error, {bad_request, <<"Bad signature in authentication token">>}},
jwtf:decode(Encoded, [], KS)
).
@@ -201,13 +201,13 @@ bad_hs256_sig_test() ->
),
KS = fun(<<"HS256">>, undefined) -> <<"bad">> end,
?assertEqual(
- {error, {bad_request, <<"Bad HMAC">>}},
+ {error, {bad_request, <<"Bad HMAC in authentication token">>}},
jwtf:decode(Encoded, [], KS)
).
malformed_token_test() ->
?assertEqual(
- {error, {bad_request, <<"Malformed token">>}},
+ {error, {bad_request, <<"Malformed authentication token">>}},
jwtf:decode(<<"a.b.c.d">>, [], nil)
).