Сесиите не живеят вечно.
function login(request):
user = db.findUser(request.username)
if user.password == hash(request.password):
sessionId = generateRandomId()
sessionStore.save(sessionId, {
userId: user.id,
createdAt: now()
})
response.setCookie("SESSION_ID", sessionId)
return "Login success"
else:
return "Invalid credentials"
function authMiddleware(request):
sessionId = request.cookies["SESSION_ID"]
session = sessionStore.get(sessionId)
if session == null:
return 401 Unauthorized
request.user = db.getUser(session.userId)
next()
if now() - session.createdAt > 30min:
delete session
Mалка част от данни, която се съхранява в браузъра на потребителя.
Наредена двойка име - стойност.
Имат определен живот.
document.cookie="name=value; path=/;"
document.cookie
Упълномощаване (authorization) - процес на предоставяне на възможност на някого за достъп до даден ресурс.
Удостоверяване (authentication) - идентифициране на потребител.
Никога не трябва паролите да се съхраняват в чист вид, както в модела на данните, така и в самата база данни.
На даден низ съпоставят друг низ с фиксиран размер.
Хеширащите функции имат две важни свойства: