use session storage for client secret during onboarding (fix #14)

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-05-28 19:48:57 +02:00
parent 69a3c6ca68
commit bf6b54caa0
6 changed files with 31 additions and 27 deletions

View File

@@ -0,0 +1,23 @@
import { useEffect, useState } from 'react';
export const ONBOARDING_SECRET_KEY = 'onboarding.clientSecret';
const DEFAULT_SECRET = '[CLIENT_SECRET]';
export function useClientSecret() {
const [clientSecret, setClientSecret] = useState<string>(DEFAULT_SECRET);
useEffect(() => {
if (clientSecret && DEFAULT_SECRET !== clientSecret) {
sessionStorage.setItem(ONBOARDING_SECRET_KEY, clientSecret);
}
}, [clientSecret]);
useEffect(() => {
const clientSecret = sessionStorage.getItem(ONBOARDING_SECRET_KEY);
if (clientSecret) {
setClientSecret(clientSecret);
}
}, []);
return [clientSecret, setClientSecret] as const;
}