Новые правки
This commit is contained in:
parent
b298e69f7b
commit
51efcbd00a
3 changed files with 6 additions and 18 deletions
|
|
@ -584,10 +584,8 @@ import { NAV_LINKS, COMPANY } from '@constants';
|
|||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('pocketbase_auth');
|
||||
|
||||
// Через 3 сек возвращаем кнопку входа
|
||||
setTimeout(() => {
|
||||
restoreLoginButton();
|
||||
}, 3000);
|
||||
// Полностью перезагружаем страницу — SSR проверит куки и обновит состояние
|
||||
window.location.reload();
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -112,10 +112,8 @@ const firstLetter = userName ? userName.charAt(0).toUpperCase() : userEmail?.cha
|
|||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('pocketbase_auth');
|
||||
|
||||
// Перенаправляем на текущую страницу с параметром loggedout
|
||||
const currentUrl = window.location.pathname + window.location.search + window.location.hash;
|
||||
const separator = currentUrl.includes('?') ? '&' : '?';
|
||||
window.location.href = currentUrl + separator + 'loggedout=true';
|
||||
// Полностью перезагружаем страницу — SSR проверит куки и обновит состояние
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -23,18 +23,14 @@ if (!post) {
|
|||
return Astro.redirect('/blog');
|
||||
}
|
||||
|
||||
// SSR проверка авторизации - используем реальную проверку через API
|
||||
// SSR проверка авторизации
|
||||
let isAuthorized = false;
|
||||
const pbAuthCookie = Astro.cookies.get('pb_auth')?.value;
|
||||
|
||||
console.log('[SSR] Cookie exists:', !!pbAuthCookie);
|
||||
|
||||
if (pbAuthCookie && PB_POCKETBASE_URL && PB_POCKETBASE_URL.startsWith('http')) {
|
||||
try {
|
||||
const token = pbAuthCookie.trim();
|
||||
|
||||
console.log('[SSR] Token preview:', token.substring(0, 20) + '...');
|
||||
|
||||
const response = await fetch(`${PB_POCKETBASE_URL}/api/collections/users/auth-refresh`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
|
|
@ -43,18 +39,14 @@ if (pbAuthCookie && PB_POCKETBASE_URL && PB_POCKETBASE_URL.startsWith('http')) {
|
|||
},
|
||||
});
|
||||
|
||||
console.log('[SSR] PB response:', response.status);
|
||||
|
||||
if (response.ok) {
|
||||
const data = await response.json();
|
||||
console.log('[SSR] Auth valid, user:', data.record?.email);
|
||||
isAuthorized = true;
|
||||
} else {
|
||||
console.log('[SSR] Auth invalid, deleting cookie');
|
||||
Astro.cookies.delete('pb_auth', { path: '/' });
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('[SSR] Error:', e.message);
|
||||
console.error('[SSR] Auth check error:', e.message);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue