in frontend/app/LoginComponentNew.tsx [34:68]
const validateToken: (config: OAuthConfiguration) => Promise<void> = async (
config: OAuthConfiguration
) => {
const token = window.localStorage.getItem("vaultdoor:access-token");
if (!token) return;
try {
const signingKey = await loadInSigningKey();
const decodedData = await validateAndDecode(token, signingKey, config.tokenSigningCertPath);
const loginData = JwtData(decodedData);
setLoginData(loginData);
// Login valid callback if provided
if (props.onLoginValid) {
props.onLoginValid(true, loginData);
}
setIsLoggedIn(true);
} catch (error: any) {
// Login valid callback if provided
if (props.onLoginValid) {
props.onLoginValid(false);
}
setIsLoggedIn(false);
if (error.name === "TokenExpiredError") {
console.error("Token has already expired");
setExpired(true);
} else {
console.error("Existing login token was not valid: ", error);
}
}
};