aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_oauth_sql.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_oauth_sql.erl')
-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 89dcc590c..b73f56b78 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(),