= 6a400fc532 Feat: Add OIDC app management UI and features
- Introduced a detailed view for OIDC apps (`show` page) with client credentials and sign-out URI management.
- Added functionality to toggle app status, generate new client secrets, and display OAuth scopes.
- Implemented service methods for handling OIDC app data, including `getPassportClient`, `generateNewSecret`, and `toggleStatus`.
- Enhanced feature tests for role-based access and validation of client secret generation.
2026-06-22 10:06:00 +00:00

50 lines
2.2 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::prefix(ConnectionProtocolEnum::URL->value)
->name(ConnectionProtocolEnum::URL->value.'.')
->group(function (): void {
Route::livewire('create', 'pages::apps.url.create')->name('create');
});
});
Route::livewire(
'{id}/edit',
'pages::apps.edit'
)->middleware(PermissionMiddleware::using(AppPermissionEnum::Update))->name('edit');
Route::livewire(
'oidc/{id}/view',
'pages::apps.oidc.show'
)->middleware(PermissionMiddleware::using(AppPermissionEnum::Read))->name('oidc.show');
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');
});
});