First steps towards the SAS partnership * otp flow now pretends to do the linking * Update LinkAccountForm header * Update redirect times * Clean up comments * Set maxAge on sas cookies * make all SAS routes protected * Merge remote-tracking branch 'refs/remotes/origin/feature/sas-login' into feature/sas-login * Require auth for sas link flow * Fix resend otp * Add error support to OneTimePasswordForm * Add Sentry to SAS error boundary * Move SAS_REQUEST_OTP_STATE_STORAGE_COOKIE_NAME * Add missing translations * Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/sas-login * Merge branch 'feature/sas-login' of bitbucket.org:scandic-swap/web into feature/sas-login * Add TooManyCodesError component * Refactor GenericError to support new errors * Add FailedAttemptsError * remove removed component <VWOScript/> * Merge branch 'feature/sas-login' of bitbucket.org:scandic-swap/web into feature/sas-login * remove local cookie-bot reference * Fix sas campaign logo scaling * feature toggle the SAS stuff * Merge branch 'feature/sas-login' of bitbucket.org:scandic-swap/web into feature/sas-login * fix: use env vars for SAS endpoints Approved-by: Linus Flood
18 lines
477 B
TypeScript
18 lines
477 B
TypeScript
import { cookies } from "next/headers"
|
|
import { z } from "zod"
|
|
|
|
import { SAS_REQUEST_OTP_STATE_STORAGE_COOKIE_NAME } from "./constants"
|
|
|
|
const otpStateSchema = z.object({
|
|
referenceId: z.string().uuid(),
|
|
databaseUUID: z.string().uuid(),
|
|
})
|
|
|
|
export type OtpState = z.infer<typeof otpStateSchema>
|
|
|
|
export function getOTPState() {
|
|
const otpState = cookies().get(SAS_REQUEST_OTP_STATE_STORAGE_COOKIE_NAME)
|
|
|
|
return otpStateSchema.parse(JSON.parse(otpState?.value ?? "{}"))
|
|
}
|