<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #47171 Added integration tests for the fleet-psso feature and added PSSO functionality to our MDM test client - idea being it is so tightly integrated into the MDM side of things on the Apple side AND we ideall want osquery-perf to be able to exercise it(coming in the next PR) # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. - [x] Timeouts are implemented and retries are limited to avoid infinite loops - [x] If paths of existing endpoints are modified without backwards compatibility, checked the frontend/CLI for any necessary changes ## Testing - [x] Added/updated automated tests - [x] Where appropriate, [automated tests simulate multiple hosts and test for host isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing) (updates to one hosts's records do not affect another) - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added Apple Platform SSO (PSSO) support for device registration, password login, key requests, and key exchange. * Added a simulator/test device for exercising the full PSSO workflow end-to-end. * Made PSSO AASA development app IDs configurable and enhanced macOS PSSO activity in performance testing (with new counters). * Improved local macOS Desktop packaging/signing configurability. * **Bug Fixes** * Strengthened PSSO token/crypto handling, including algorithm pinning, key ID canonicalization, encrypted assertion `typ` validation, and replay protection. * **Tests** * Added extensive crypto interoperability tests (including Apple known-answer vectors) plus new end-to-end integration coverage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Magnus Jensen <magnus@fleetdm.com>
Fleet development guides
This directory contains guides for common development tasks in Fleet.
General guides
- Seeding Data - Guide for seeding data in Fleet
- Committing Changes - Guide for committing changes to Fleet
- Fleetctl Apply - Guide for using fleetctl apply
- Simulate Slow Network - Guide for simulating a slow network
- Troubleshooting Live Queries - Guide for troubleshooting live queries
- Enroll hosts with plain osquery - Guide for enrolling hosts with plain osquery
- Upcoming activities - Guide for managing upcoming host activities
- mTLS reverse proxy setup - Guide for setting up an mTLS reverse proxy for testing
- Okta conditional access testing - Guide for testing Okta conditional access end-to-end in a dev environment
- Smallstep ACME local setup - Guide for running step-ca locally with ngrok for ACME device attestation testing
- Using Fleet as a Go module - Guide for importing Fleet's Go packages into your own projects
UI development
- Fleet UI Testing - Guide for testing the Fleet UI
- Generating UI Component Boilerplate - Guide for generating UI component boilerplate
- Design QA Considerations - Guide for design QA considerations
Observability
- Telemetry attribute naming - Naming conventions for log, trace, and metric attributes
API development
- Adding New Endpoints - Guide for adding new endpoints to the Fleet API
Integration guides
- SCIM Integration - Guide for integrating Fleet with SCIM
- Digicert Integration - Guide for integrating Fleet with Digicert