23 lines
591 B
TypeScript
23 lines
591 B
TypeScript
import type { Session } from "next-auth"
|
|
|
|
export function isValidSession(session: Session | null) {
|
|
if (!session) {
|
|
console.log("No session available (user not authenticated).")
|
|
return false
|
|
}
|
|
if (session.error) {
|
|
console.log(`Session error: ${session.error}`)
|
|
return false
|
|
}
|
|
if (session.token.error) {
|
|
console.log(`Session token error: ${session.token.error}`)
|
|
return false
|
|
}
|
|
if (session.token.expires_at && session.token?.expires_at < Date.now()) {
|
|
console.log(`Session expired: ${session.token.expires_at}`)
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|