mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
fix: resolve Telegram Mini App auth failures on all platforms
- Skip token refresh/Bearer header for auth endpoints in request interceptor - Wait for auth store initialization before attempting Telegram login - Clear stale session tokens when init data changes (WebView persistence) - Show backend error details instead of generic messages
This commit is contained in:
@@ -152,6 +152,25 @@ export const tokenStorage = {
|
||||
},
|
||||
};
|
||||
|
||||
export function clearStaleSessionIfNeeded(freshInitData: string | null): void {
|
||||
if (!freshInitData) return;
|
||||
|
||||
try {
|
||||
const stored = sessionStorage.getItem(TOKEN_KEYS.TELEGRAM_INIT);
|
||||
|
||||
if (stored && stored !== freshInitData) {
|
||||
sessionStorage.removeItem(TOKEN_KEYS.ACCESS);
|
||||
sessionStorage.removeItem(TOKEN_KEYS.REFRESH);
|
||||
sessionStorage.removeItem(TOKEN_KEYS.USER);
|
||||
}
|
||||
|
||||
sessionStorage.setItem(TOKEN_KEYS.TELEGRAM_INIT, freshInitData);
|
||||
localStorage.removeItem(TOKEN_KEYS.TELEGRAM_INIT);
|
||||
} catch {
|
||||
// Storage недоступен
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Централизованный менеджер обновления токенов
|
||||
* Предотвращает множественные параллельные refresh запросы
|
||||
|
||||
Reference in New Issue
Block a user