fix some for iam

This commit is contained in:
Montech
2026-10-07 16:45:36 +03:30
parent a72fa607a5
commit 5223de313a
25 changed files with 823 additions and 38 deletions
+14
View File
@@ -32,6 +32,7 @@ export const router = createRouter({
{ path: '/newest', name: 'newestProduct', component: () => import('../views/NewestView.vue'), meta: { layout: 'FullPage' } },
{ path: '/cart', name: 'cart', component: () => import('../views/CartView.vue') },
{ path: '/login', name: 'login', component: () => import('../views/user/LoginRegisterView.vue'), meta: { layout: 'FullPage' } },
{ path: '/auth/iam/callback', name: 'iamCallback', component: () => import('../views/user/IamCallback.vue'), meta: { layout: 'FullPage' } },
{ path: '/user', name: 'userPage::hasSubRoute', component: () => import('../views/user/DashboardView.vue') },
{ path: '/orders', name: 'ordersList', component: () => import('../views/user/OrdersView.vue'), meta: { requiresAuth: true } },
{
@@ -101,6 +102,19 @@ router.beforeEach(async (to) => {
const session = useSessionStore();
const nav = useNavStore();
if (!session.isLoggedIn && to.name !== 'iamCallback' && sessionStorage.getItem('gb_iam_sso_checked') !== '1') {
sessionStorage.setItem('gb_iam_sso_checked', '1');
try {
const started = await api.ssoStart();
if (started.enabled && started.authorize_url) {
window.location.assign(started.authorize_url);
return false;
}
} catch {
// سامانه هویت خاموش است یا در دسترس نیست
}
}
if (to.name === 'login' && session.isLoggedIn) {
return { name: 'home' };
}