summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2017-03-14 17:25:09 +0300
committerAlexey Shchepin <alexey@process-one.net>2017-03-14 17:25:09 +0300
commit9a142eb8075d98b4741222bbb76f897b22795acf (patch)
treeedd1b027c61a4136f22b6eb50bb2cb4a51334a22 /src
parentGet rid of p1_sha calls (diff)
Update cyrsasl_oauth to internal API changes
Diffstat (limited to 'src')
-rw-r--r--src/cyrsasl_oauth.erl14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/cyrsasl_oauth.erl b/src/cyrsasl_oauth.erl
index 1290b282..27b5d92e 100644
--- a/src/cyrsasl_oauth.erl
+++ b/src/cyrsasl_oauth.erl
@@ -53,7 +53,7 @@ mech_step(State, ClientIn) ->
case prepare(ClientIn) of
[AuthzId, User, Token] ->
case ejabberd_oauth:check_token(
- User, State#state.host, <<"sasl_auth">>, Token) of
+ User, State#state.host, [<<"sasl_auth">>], Token) of
true ->
{ok,
[{username, User}, {authzid, AuthzId},
@@ -69,12 +69,18 @@ prepare(ClientIn) ->
[<<"">>, UserMaybeDomain, Token] ->
case parse_domain(UserMaybeDomain) of
%% <NUL>login@domain<NUL>pwd
- [User, _Domain] -> [UserMaybeDomain, User, Token];
+ [User, _Domain] -> [User, User, Token];
%% <NUL>login<NUL>pwd
- [User] -> [<<"">>, User, Token]
+ [User] -> [User, User, Token]
end;
%% login@domain<NUL>login<NUL>pwd
- [AuthzId, User, Token] -> [AuthzId, User, Token];
+ [AuthzId, User, Token] ->
+ case parse_domain(AuthzId) of
+ %% login@domain<NUL>login<NUL>pwd
+ [AuthzUser, _Domain] -> [AuthzUser, User, Token];
+ %% login<NUL>login<NUL>pwd
+ [AuthzUser] -> [AuthzUser, User, Token]
+ end;
_ -> error
end.