- 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.
39 lines
1.7 KiB
PHP
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');
|
|
});
|
|
});
|