WEB-233: Improve the OIDC integration with 2FA (#2602)

This commit is contained in:
AllsVeam
2025-08-22 21:49:18 -06:00
committed by GitHub
parent c00a3bd059
commit 9745643456
50 changed files with 3248 additions and 132 deletions
+108 -41
View File
@@ -16,51 +16,115 @@ import { UsersResolver } from './users.resolver';
import { UsersTemplateResolver } from './users-template.resolver';
import { UserResolver } from './user.resolver';
/** Users Routes */
/** Custom Resolvers for Zitadel */
import { UsersZitadelResolver } from '../zitadel/users/usersZitadel.resolver';
import { UsersZitadelTemplateResolver } from '../zitadel/users/usersZitadel-template.resolver';
import { UserZitadelResolver } from '../zitadel/users/userZitadel.resolver';
/** Custom Components for Zitadel */
import { UsersComponent as UserZitadelComponent } from '../zitadel/users/users.component';
import { ViewUserComponent as ViewUserZitadelComponent } from '../zitadel/users/view-user/view-user.component';
import { CreateUserComponent as CreateUserZitadelComponent } from '../zitadel/users/create-user/create-user.component';
import { EditUserComponent as EditUserZitadelComponent } from '../zitadel/users/edit-user/edit-user.component';
/** Environment */
import { environment } from 'environments/environment';
/** Users Routes for Mifos */
const mifosRoutes: Routes = [
{
path: '',
component: UsersComponent,
resolve: { users: UsersResolver }
},
{
path: 'create',
component: CreateUserComponent,
data: { title: 'Create User', breadcrumb: 'Create User' },
resolve: { usersTemplate: UsersTemplateResolver }
},
{
path: ':id',
data: { title: 'View User', routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewUserComponent,
resolve: { user: UserResolver }
},
{
path: 'edit',
component: EditUserComponent,
data: { title: 'Edit User', breadcrumb: 'Edit', routeResolveBreadcrumb: false },
resolve: {
user: UserResolver,
usersTemplate: UsersTemplateResolver
}
}
]
}
];
/**
* Route definition for Zitadel
*/
const zitadelRoutes: Routes = [
{
path: '',
component: UserZitadelComponent,
resolve: { users: UsersZitadelResolver }
},
{
path: 'create',
component: CreateUserZitadelComponent,
data: { title: 'Create User', breadcrumb: 'Create User' },
resolve: { usersTemplate: UsersTemplateResolver }
},
{
path: ':id',
data: { title: 'View User', routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewUserZitadelComponent,
resolve: { user: UserZitadelResolver }
},
{
path: 'edit',
component: EditUserZitadelComponent,
data: { title: 'Edit User', breadcrumb: 'Edit', routeResolveBreadcrumb: false },
resolve: {
user: UserZitadelResolver,
usersTemplate: UsersZitadelTemplateResolver
}
}
]
}
];
/**
* Choose the correct route set according to the environment
*/
const isOidcEnabled = !(
(window as any)?.env?.oidcServerEnabled === false ||
(window as any)?.env?.oidcServerEnabled === 'false' ||
(window as any)?.env?.oidcServerEnabled === 0 ||
(window as any)?.env?.oidcServerEnabled === '0' ||
(window as any)?.env?.oidcServerEnabled === null ||
(window as any)?.env?.oidcServerEnabled === undefined
);
const selectedRoutes = isOidcEnabled ? mifosRoutes : zitadelRoutes;
/**
* Final routes with the shell
*/
const routes: Routes = [
Route.withShell([
{
path: 'appusers',
data: { title: 'Users', breadcrumb: 'Users' },
children: [
{
path: '',
component: UsersComponent,
resolve: {
users: UsersResolver
}
},
{
path: 'create',
component: CreateUserComponent,
data: { title: 'Create User', breadcrumb: 'Create User' },
resolve: {
usersTemplate: UsersTemplateResolver
}
},
{
path: ':id',
data: { title: 'View User', routeParamBreadcrumb: 'id' },
children: [
{
path: '',
component: ViewUserComponent,
resolve: {
user: UserResolver
}
},
{
path: 'edit',
component: EditUserComponent,
data: { title: 'Edit User', breadcrumb: 'Edit', routeResolveBreadcrumb: false },
resolve: {
user: UserResolver,
usersTemplate: UsersTemplateResolver
}
}
]
}
]
children: selectedRoutes
}
])
@@ -77,7 +141,10 @@ const routes: Routes = [
providers: [
UsersResolver,
UsersTemplateResolver,
UserResolver
UserResolver,
UsersZitadelResolver,
UserZitadelResolver,
UsersZitadelTemplateResolver
]
})
export class UsersRoutingModule {}
+12 -1
View File
@@ -11,6 +11,12 @@ import { CreateUserComponent } from './create-user/create-user.component';
import { ViewUserComponent } from './view-user/view-user.component';
import { EditUserComponent } from './edit-user/edit-user.component';
/** Custom Components of Zitadel */
import { ViewUserComponent as ViewUserZitadelComponent } from '../zitadel/users/view-user/view-user.component';
import { EditUserComponent as EditUserZitadelComponent } from '../zitadel/users/edit-user/edit-user.component';
import { CreateUserComponent as CreateUserZitadelComponent } from '../zitadel/users/create-user/create-user.component';
import { UsersComponent as UserZitadelComponent } from '../zitadel/users/users.component';
/**
* Users Module
*
@@ -23,7 +29,12 @@ import { EditUserComponent } from './edit-user/edit-user.component';
UsersComponent,
CreateUserComponent,
ViewUserComponent,
EditUserComponent
EditUserComponent,
// Users Zitadel
UserZitadelComponent,
ViewUserZitadelComponent,
EditUserZitadelComponent,
CreateUserZitadelComponent
]
})
export class UsersModule {}