diff --git a/backend/app/auth/routes.py b/backend/app/auth/routes.py index 509158b..8ffdbc6 100644 --- a/backend/app/auth/routes.py +++ b/backend/app/auth/routes.py @@ -14,6 +14,7 @@ from fastapi.responses import RedirectResponse from app.auth.client import get_gauth_client +from app.config import get_settings router = APIRouter(prefix="/auth", tags=["auth"]) @@ -65,4 +66,6 @@ user = request.session.get("user") if not user: raise HTTPException(status_code=401, detail="Not authenticated") - return {"user": user} + # Раздел профиля в системе авторизации (SSO): {base}/account + account_url = get_settings().gauth_base_url.rstrip("/") + "/account" + return {"user": user, "account_url": account_url} diff --git a/frontend/src/App.vue b/frontend/src/App.vue index a74dce0..3efa336 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -10,6 +10,7 @@ const route = useRoute() const { t } = useI18n() const user = ref(null) +const accountUrl = ref('') const navItems = computed(() => [ { id: 'stack', label: t('nav.stack'), icon: 'ph-tray', to: '/stack' }, @@ -30,6 +31,7 @@ if (res.ok) { const data = await res.json() user.value = data.user + accountUrl.value = data.account_url ?? '' } // валюта и язык — глобальные настройки; язык без переопределения берётся из SSO try { @@ -57,7 +59,8 @@ как в gnexus auth); чип топбара показывает текущий раздел -->