= e791c08ce1 Feat: (UI) Replace connected-app creation with modular OIDC service and components
- Removed the old `connected-apps.create` implementation and components, simplifying the codebase.
- Introduced modular OIDC integration using reusable components and traits, such as `WithSearchableChoices` and `WithRepeaterFields`.
- Added `StoreOIDCAppForm` for handling OpenID Connect app-specific fields and validation.
- Updated `choices.blade.php` and related components to leverage configuration-driven, dynamic multi-select functionality.
- Updated routes to support new OIDC app creation under distinct connection protocol namespaces.
- Enhanced app creation flow with support for dynamic fields like URIs (`repeater-input`) and scoped user roles.
2026-06-18 09:48:07 +00:00

39 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
use App\Enums\ConnectionProtocolEnum;
use App\Enums\Permissions\{AppPermissionEnum, ConnectionProviderPermissionEnum};
use Illuminate\Support\Facades\Route;
use Spatie\Permission\Middleware\PermissionMiddleware;
Route::prefix('apps')->name('apps.')->group(function (): void {
Route::livewire('microsoft-federation', 'pages::connecton-providers.microsoft-federation')
->middleware(PermissionMiddleware::using(ConnectionProviderPermissionEnum::Access))
->name('microsoft-federation');
Route::middleware(PermissionMiddleware::using(AppPermissionEnum::Access))->group(function (): void {
Route::middleware(PermissionMiddleware::using(AppPermissionEnum::Create))->group(function (): void {
Route::prefix(ConnectionProtocolEnum::OIDC->value)
->name(ConnectionProtocolEnum::OIDC->value.'.')
->group(function (): void {
Route::livewire('create', 'pages::apps.oidc.create')->name('create');
});
});
Route::livewire(
'{id}/edit',
'pages::apps.edit'
)->middleware(PermissionMiddleware::using(AppPermissionEnum::Update))->name('edit');
Route::livewire('/', 'pages::apps.index')->name('index');
});
Route::prefix('connection-providers')->name('connectionProviders.')
->middleware(PermissionMiddleware::using(ConnectionProviderPermissionEnum::Access))
->group(function (): void {
Route::livewire('create', 'pages::connecton-providers.create')->name('create');
Route::livewire('{slug}/edit', 'pages::connecton-providers.edit')->name('edit');
Route::livewire('index', 'pages::connecton-providers.index')->name('index');
});
});