diff options
Diffstat (limited to 'src/ejabberd_oauth_sql.erl')
-rw-r--r-- | src/ejabberd_oauth_sql.erl | 22 |
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(), |