Blob Blame History Raw
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,