Sessions vs JWT vs Cookies: Understanding Authentication