fix some for iam
This commit is contained in:
@@ -27,6 +27,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 } },
|
||||
{
|
||||
@@ -96,6 +97,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' };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user