summaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_jwt.erl
diff options
context:
space:
mode:
authorPouriya <pouriya.jahanbakhsh@gmail.com>2020-12-14 10:44:58 +0330
committerGitHub <noreply@github.com>2020-12-14 08:14:58 +0100
commita76531b90b552824a7832f65708eea7f4ba5ef67 (patch)
treedc47f64d8a24ef51cd5cb5cde3bec05173891afb /src/ejabberd_auth_jwt.erl
parentUpdate deps (diff)
feat: add hook to check decoded JWT after success authentication (#3446)
Diffstat (limited to 'src/ejabberd_auth_jwt.erl')
-rw-r--r--src/ejabberd_auth_jwt.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ejabberd_auth_jwt.erl b/src/ejabberd_auth_jwt.erl
index fa29571a..911cae96 100644
--- a/src/ejabberd_auth_jwt.erl
+++ b/src/ejabberd_auth_jwt.erl
@@ -102,10 +102,11 @@ check_jwt_token(User, Server, Token) ->
error ->
false;
{ok, SJID} ->
- try
- JID = jid:decode(SJID),
- (JID#jid.luser == User) andalso
- (JID#jid.lserver == Server)
+ try jid:decode(SJID) of
+ JID ->
+ (JID#jid.luser == User) andalso
+ (JID#jid.lserver == Server) andalso
+ ejabberd_hooks:run_fold(check_decoded_jwt, Server, true, [Fields, Signature, User])
catch error:{bad_jid, _} ->
false
end