From: Hakan Nilsson <hakan.nilsson@kivra.com>
Date: Tue, 19 Dec 2017 13:26:21 +0100
Subject: [PATCH] Pass on error from authenticate_user
diff --git a/src/oauth2.erl b/src/oauth2.erl
index 4f4855b..ac06bc2 100644
--- a/src/oauth2.erl
+++ b/src/oauth2.erl
@@ -353,7 +353,7 @@ verify_access_token(AccessToken, Ctx0) ->
%%%_* Private functions ================================================
auth_user(User, Scope0, Ctx0) ->
case ?BACKEND:authenticate_user(User, Ctx0) of
- {error, _} -> {error, access_denied};
+ {error, _}=E -> E;
{ok, {Ctx1, Owner}} ->
case ?BACKEND:verify_resowner_scope(Owner, Scope0, Ctx1) of
{error, _} -> {error, invalid_scope};
diff --git a/test/oauth2_tests.erl b/test/oauth2_tests.erl
index a1c9fb1..fc51ce9 100644
--- a/test/oauth2_tests.erl
+++ b/test/oauth2_tests.erl
@@ -59,12 +59,12 @@ bad_authorize_password_test_() ->
{<<"herp">>, <<"derp">>},
<<"bad_scope">>,
foo_context)),
- ?_assertMatch({error, access_denied},
+ ?_assertMatch({error, badpass},
oauth2:authorize_password(
{<<"herp">>, <<"herp">>},
<<"xyz">>,
foo_context)),
- ?_assertMatch({error, access_denied},
+ ?_assertMatch({error, notfound},
oauth2:authorize_password(
{<<"derp">>,<<"derp">>},
<<"xyz">>,
@@ -81,7 +81,7 @@ bad_authorize_password_test_() ->
{?CLIENT_ID, ?CLIENT_SECRET},
<<"bad_scope">>,
foo_context)),
- ?_assertMatch({error, access_denied},
+ ?_assertMatch({error, badpass},
oauth2:authorize_password(
{<<"herp">>, <<"herp">>},
{?CLIENT_ID, ?CLIENT_SECRET},
@@ -247,7 +247,7 @@ bad_access_code_test_() ->
?CLIENT_URI,
<<"bad_scope">>,
foo_context),
- {error, access_denied} = oauth2:authorize_code_request(
+ {error, badpass} = oauth2:authorize_code_request(
{<<"herp">>, <<"herp">>},
?CLIENT_ID,
?CLIENT_URI,