-include("ejabberd_commands.hrl").
+-callback init() -> any().
+-callback store(#oauth_token{}) -> ok | {error, any()}.
+-callback lookup(binary()) -> {ok, #oauth_token{}} | error.
+-callback clean(non_neg_integer()) -> any().
%% There are two ways to obtain an oauth token:
%% * Using the web form/api results in the token being generated in behalf of the user providing the user/pass
%%%-------------------------------------------------------------------
-module(ejabberd_oauth_mnesia).
+-behaviour(ejabberd_oauth).
-export([init/0,
store/1,
%%%-------------------------------------------------------------------
-module(ejabberd_oauth_rest).
-
+-behaviour(ejabberd_oauth).
-behaviour(ejabberd_config).
-export([init/0,
%%%-------------------------------------------------------------------
-module(ejabberd_oauth_sql).
-
+-behaviour(ejabberd_oauth).
-compile([{parse_transform, ejabberd_sql_pt}]).
-export([init/0,