summaryrefslogtreecommitdiff
path: root/src/ejabberd_oauth_sql.erl
diff options
context:
space:
mode:
authorPaweł Chmielowski <pawel@process-one.net>2022-04-20 19:07:46 +0200
committerPaweł Chmielowski <pawel@process-one.net>2022-04-20 19:07:52 +0200
commite59043db2cd8775dd4cf4c1c277b2eb1ec7846e0 (patch)
treef975302e846d942750b8bcf9f413f0ae08b0b14b /src/ejabberd_oauth_sql.erl
parentClarify mod_offline's use_mam_for_storage option (diff)
Make oauth_revoke_token work with all backends
Diffstat (limited to '')
-rw-r--r--src/ejabberd_oauth_sql.erl22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/ejabberd_oauth_sql.erl b/src/ejabberd_oauth_sql.erl
index 89dcc590..b73f56b7 100644
--- a/src/ejabberd_oauth_sql.erl
+++ b/src/ejabberd_oauth_sql.erl
@@ -28,12 +28,12 @@
-behaviour(ejabberd_oauth).
-export([init/0,
- store/1,
- lookup/1,
- clean/1,
- lookup_client/1,
- store_client/1,
- remove_client/1]).
+ store/1,
+ lookup/1,
+ clean/1,
+ lookup_client/1,
+ store_client/1,
+ remove_client/1, revoke/1]).
-include("ejabberd_oauth.hrl").
-include("ejabberd_sql_pt.hrl").
@@ -78,6 +78,16 @@ lookup(Token) ->
error
end.
+revoke(Token) ->
+ case ejabberd_sql:sql_query(
+ ejabberd_config:get_myname(),
+ ?SQL("delete from oauth_token where token=%(Token)s")) of
+ {error, _} ->
+ {error, <<"db error">>};
+ _ ->
+ ok
+ end.
+
clean(TS) ->
ejabberd_sql:sql_query(
ejabberd_config:get_myname(),