Software /
code /
prosody
Changeset
13074:794a5ad5495e
mod_tokenauth: Fix parsing binary part of tokens
Fixes parsing of tokens that happen to have a `;` in their secret part,
otherwise it splits there and the later bit goes into the username and
hitting the "Invalid token in storage" condition.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 12 Apr 2023 11:43:32 +0200 |
parents | 13073:9e5802b45b9e |
children | 13075:82980f6890cd |
files | plugins/mod_tokenauth.lua |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_tokenauth.lua Wed Apr 12 10:21:32 2023 +0200 +++ b/plugins/mod_tokenauth.lua Wed Apr 12 11:43:32 2023 +0200 @@ -120,7 +120,7 @@ if not encoded_data then return nil; end local token = base64.decode(encoded_data); if not token then return nil; end - local token_id, token_secret, token_jid = token:match("^2;([^;]+);([^;]+);(.+)$"); + local token_id, token_secret, token_jid = token:match("^2;([^;]+);(..................);(.+)$"); if not token_id then return nil; end local token_user, token_host = jid.split(token_jid); return token_id, token_user, token_host, token_secret;