|
Feat: мобильная авторизация через OAuth bridge page + CapacitorHttp
- Добавлен серверный endpoint /auth/mobile-bridge: - После OAuth callback берёт токен из сессии (refreshAccessToken) - Рендерит HTML-страницу, которая редиректит WebView обратно в приложение - Редирект: https://localhost/#/mobile-auth?token=TOKEN&expires_in=EXPIRES - Добавлена Vue-страница /mobile-auth: - Ловит токен из URL query params - Сохраняет в localStorage через setAccessToken() - Инициализирует authStore и редиректит на dashboard - Все auth-редиректы в мобильном приложении исправлены: - 401 в API → /#/login (вместо прямого OAuth на сервере) - Logout → /#/login - LoginPage/AppShell login → /auth/login?return_to=/auth/mobile-bridge - Включён CapacitorHttp в capacitor.config.json: - Нативный HTTP стек обходит CORS, никаких серверных заголовков не нужно - Обновлён server/dist/ (production bundle) |
|---|
|
|
| server/SHServ/Controllers/AuthController.php |
|---|
| server/SHServ/Routes.php |
|---|
| server/dist/assets/NotFoundPage-CAny2g0D.js 0 → 100644 |
|---|
| server/dist/assets/NotFoundPage-CRjNvuG8.js 100644 → 0 |
|---|
| server/dist/assets/index-BCQGwEB0.css 0 → 100644 |
|---|
| server/dist/assets/index-C6CbbwdV.css 100644 → 0 |
|---|
| server/dist/assets/index-DLROONYU.js 0 → 100644 |
|---|
| server/dist/assets/index-DSElkzFl.js 100644 → 0 |
|---|
| server/dist/assets/web-BImqM6lN.js 0 → 100644 |
|---|
| server/dist/assets/web-CM9X8UBB.js 100644 → 0 |
|---|
| server/dist/index.html |
|---|
| webclient/capacitor.config.json |
|---|
| webclient/src/api/client.js |
|---|
| webclient/src/components/layout/AppShell.vue |
|---|
| webclient/src/features/auth/pages/LoginPage.vue |
|---|
| webclient/src/features/auth/pages/MobileAuthPage.vue 0 → 100644 |
|---|
| webclient/src/router/routes.js |
|---|
| webclient/src/stores/auth.js |
|---|