From 6acd5e3a5a837dc8f5c5742eaf2a5a4da8a913df Mon Sep 17 00:00:00 2001 From: absc Date: Fri, 9 Aug 2024 19:50:19 +0000 Subject: [PATCH] Move the cookie parameter as value. --- dudeswave/src/dudeswave_auth.erl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dudeswave/src/dudeswave_auth.erl b/dudeswave/src/dudeswave_auth.erl index 4c850d9..ad45ef8 100644 --- a/dudeswave/src/dudeswave_auth.erl +++ b/dudeswave/src/dudeswave_auth.erl @@ -55,11 +55,13 @@ authenticate(User, Cookie, Bucket) -> case storage:read(Bucket, Cookie) of {ok, [R]} -> CurTime = calendar:now_to_universal_time(erlang:timestamp()), - CookieTime = lists:keyfind(until, 1, R#object.metadata), + CookieTime = R#object.value, + CookieUser = lists:keyfind(user, 1, R#object.metadata), + if CookieTime >= CurTime -> if - User =:= R#object.value -> true; + User =:= CookieUser -> true; true -> false end; true -> false @@ -118,7 +120,7 @@ authenticate(User, Password, Cookies, Bucket) -> if Auth =:= Hash -> Cookie = base64:encode(rand:bytes(64)), - case storage:write(Cookies, <>, User, [{until, Validity}]) of + case storage:write(Cookies, <>, Validity, [{user, User}]) of ok -> {true, Cookie, Validity}; {error, Reason} -> {error, Reason} end;