aboutsummaryrefslogtreecommitdiffstats
path: root/util/sasl/oauthbearer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'util/sasl/oauthbearer.lua')
-rw-r--r--util/sasl/oauthbearer.lua5
1 files changed, 3 insertions, 2 deletions
diff --git a/util/sasl/oauthbearer.lua b/util/sasl/oauthbearer.lua
index 490a205f..7cba5f35 100644
--- a/util/sasl/oauthbearer.lua
+++ b/util/sasl/oauthbearer.lua
@@ -11,10 +11,11 @@ local function oauthbearer(self, message)
return "failure", "not-authorized";
end
- local gs2_authzid, kvpairs = message:match("n,a=([^,]+),(.+)$");
- if not gs2_authzid then
+ local gs2_header, kvpairs = message:match("^(n,[^,]*,),(.+)$");
+ if not gs2_header then
return "failure", "malformed-request";
end
+ local gs2_authzid = gs2_header:match("^[^,]*,a=([^,]*),$");
local auth_header;
for k, v in kvpairs:gmatch("([a-zA-Z]+)=([\033-\126 \009\r\n]*)\001") do