From 5a95edbdcd7715aadaab9677ad717ea6f9db937c Mon Sep 17 00:00:00 2001 From: paweldomas Date: Wed, 20 Apr 2016 16:37:36 -0500 Subject: [PATCH] Improve token error reporting in Prosody JWT plugin --- prosody-plugins/mod_auth_token.lua | 3 +++ prosody-plugins/token/util.lib.lua | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/prosody-plugins/mod_auth_token.lua b/prosody-plugins/mod_auth_token.lua index 1b24e94c2..9a9befe77 100644 --- a/prosody-plugins/mod_auth_token.lua +++ b/prosody-plugins/mod_auth_token.lua @@ -80,6 +80,9 @@ function provider.get_sasl_handler(session) -- here we check if 'room' claim exists local room, roomErr = token_util.get_room_name(token, appSecret); if room == nil then + if roomErr == nil then + roomErr = "'room' claim is missing"; + end return false, "not-allowed", roomErr; end diff --git a/prosody-plugins/token/util.lib.lua b/prosody-plugins/token/util.lib.lua index c281c3d95..0f7c55364 100644 --- a/prosody-plugins/token/util.lib.lua +++ b/prosody-plugins/token/util.lib.lua @@ -23,7 +23,7 @@ local function _verify_token(token, appId, appSecret, roomName) local issClaim = claims["iss"]; if issClaim == nil then - return nil, "Issuer field is missing"; + return nil, "'iss' claim is missing"; end if issClaim ~= appId then return nil, "Invalid application ID('iss' claim)"; @@ -31,7 +31,7 @@ local function _verify_token(token, appId, appSecret, roomName) local roomClaim = claims["room"]; if roomClaim == nil then - return nil, "Room field is missing"; + return nil, "'room' claim is missing"; end if roomName ~= nil and roomName ~= roomClaim then return nil, "Invalid room name('room' claim)";