Move the cookie parameter as value.

main
absc 2024-08-09 19:50:19 +00:00
parent 318ab0d301
commit 6acd5e3a5a
1 changed files with 5 additions and 3 deletions

View File

@ -55,11 +55,13 @@ authenticate(User, Cookie, Bucket) ->
case storage:read(Bucket, Cookie) of case storage:read(Bucket, Cookie) of
{ok, [R]} -> {ok, [R]} ->
CurTime = calendar:now_to_universal_time(erlang:timestamp()), 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 if
CookieTime >= CurTime -> CookieTime >= CurTime ->
if if
User =:= R#object.value -> true; User =:= CookieUser -> true;
true -> false true -> false
end; end;
true -> false true -> false
@ -118,7 +120,7 @@ authenticate(User, Password, Cookies, Bucket) ->
if if
Auth =:= Hash -> Auth =:= Hash ->
Cookie = base64:encode(rand:bytes(64)), Cookie = base64:encode(rand:bytes(64)),
case storage:write(Cookies, <<Cookie/binary>>, User, [{until, Validity}]) of case storage:write(Cookies, <<Cookie/binary>>, Validity, [{user, User}]) of
ok -> {true, Cookie, Validity}; ok -> {true, Cookie, Validity};
{error, Reason} -> {error, Reason} {error, Reason} -> {error, Reason}
end; end;