feat(SW-3541): Do social login after login to SAS * feat(auth): wip social login via curity * Setup social login auth flow * Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/curity-social-login * Added support for getting scandic tokens and refresh them * feat: Enhance social login and session management with auto-refresh and improved error handling * Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/curity-social-login * wrap layout in suspense * revert app/layout.tsx * fix import * cleanup * merge * merge * dont pass client_secret in the url to curity * add state validation when doing social login through /authorize * remove debug logging Approved-by: Anton Gunnarsson
26 lines
654 B
TypeScript
26 lines
654 B
TypeScript
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
|
|
|
import type { Session } from "next-auth"
|
|
|
|
const logger = createLogger("clientSession")
|
|
export function isValidClientSession(session: Session | null) {
|
|
if (!session) {
|
|
return false
|
|
}
|
|
if (session.error) {
|
|
logger.error(`Session error: ${session.error}`)
|
|
return false
|
|
}
|
|
|
|
if (session.token.error) {
|
|
logger.error(`Session token error: ${session.token.error}`)
|
|
return false
|
|
}
|
|
if (session.token.expires_at && session.token.expires_at < Date.now()) {
|
|
logger.error(`Session expired: ${session.token.expires_at}`)
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|