value('id') ?? Tenant::query()->orderBy('id')->value('id'); $redirectUris = Arr::wrap($serviceConfig['redirects'] ?? []); if (empty($redirectUris)) { $redirectUris = [ 'http://localhost:5173/event-admin/auth/callback', 'http://localhost:8000/event-admin/auth/callback', ]; } $scopes = [ 'tenant:read', 'tenant:write', ]; $client = OAuthClient::firstOrNew(['client_id' => $clientId]); if (!$client->exists) { $client->id = (string) Str::uuid(); } $client->fill([ 'client_secret' => null, // Public client, no secret needed for PKCE 'tenant_id' => $tenantId, 'redirect_uris' => $redirectUris, 'scopes' => $scopes, 'is_active' => true, ]); $client->save(); } }