fix(SW-3578): Fixed session issue when sas session expires * fix(SW-3578): Fixed session issue when sas session expires * base socialLogin auto-features on validSession and being linked * remove unused object * remove 'import server-only' for isValidSession() since it's only using passed data * remove isValidClientSession() Approved-by: Joakim Jäderberg Approved-by: Anton Gunnarsson
28 lines
694 B
TypeScript
28 lines
694 B
TypeScript
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
|
|
|
import type { Session } from "next-auth"
|
|
|
|
const sessionLogger = createLogger("session")
|
|
export function isValidSession(session: Session | null): session is Session {
|
|
if (!session) {
|
|
return false
|
|
}
|
|
|
|
if (session.error) {
|
|
sessionLogger.error(`Session error: ${session.error}`)
|
|
return false
|
|
}
|
|
|
|
if (session.token?.error) {
|
|
sessionLogger.error(`Session token error: ${session.token.error}`)
|
|
return false
|
|
}
|
|
|
|
if (session.token?.expires_at && session.token.expires_at < Date.now()) {
|
|
sessionLogger.debug(`Session expired: ${session.token.expires_at}`)
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|