oidcService = $oidcService; $this->configResolver = $configResolver; } public function mount(int $id): void { $this->authorize(AppPermissionEnum::Read->value); $this->appId = $id; $this->loadAppData(); } public function loadAppData(): void { $this->app = ConnectedApp::with(['protocol', 'status', 'roles'])->findOrFail($this->appId); $this->passportClient = $this->oidcService->getPassportClient($this->app); $this->signOutUris = $this->oidcService->getSignOutUris($this->app); } public function generateNewSecret(): void { $this->authorize(AppPermissionEnum::Update->value); if (!$this->passportClient) { $this->error('No corresponding Passport Client found to update.'); return; } $this->attempt( action: function () { $plainSecret = $this->oidcService->generateNewSecret($this->passportClient); $this->newSecretPlain = $plainSecret; $this->success('A new client secret has been generated! Make sure to copy it now.'); $this->loadAppData(); }, successMessage: 'New client secret generated successfully!', showSuccess: false ); } public function toggleStatus(): void { $this->authorize(AppPermissionEnum::Update->value); $this->attempt( action: function () { $this->oidcService->toggleStatus($this->app); $this->loadAppData(); }, successMessage: 'Application status updated successfully!' ); } public function goBack(): void { $this->redirectRoute('apps.index', navigate: true); } public function editApp(): void { $this->redirectRoute('apps.edit', ['id' => $this->appId], navigate: true); } public function requiresPkce(Client $client) { return $this->configResolver->requiresPkce($client); } }; ?>
Protocol: {{ strtoupper($app->protocol->name) }}
| Creation date | Secret | Status |
|---|---|---|
| {{ $passportClient->updated_at?->format('M j, Y H:i:s') ?? 'N/A' }} | •••••••••••••••••••••••••••••••••••••••• | {{ !$passportClient->revoked ? 'Active' : 'Revoked' }} |
| No secrets available | ||
| Role Name | Priority | Access Type |
|---|---|---|
| {{ $role->name }} | {{ $role->priority }} | SSO Access |
| No specific roles assigned. Accessible by everyone depending on user access setting. | ||
Allows the application to fetch ID tokens for authenticating users.
Allows reading default profile fields like name, picture, and locale.
Grants access to the user's primary email address.
Allows requesting refresh tokens to maintain access offline.