Add cert auth for iOS/iPadOS My Device page - #35009
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feat-32247-ios-ipados-self-service #35009 +/- ##
======================================================================
- Coverage 66.21% 62.53% -3.69%
======================================================================
Files 2073 2074 +1
Lines 174776 174827 +51
Branches 7095 7095
======================================================================
- Hits 115732 109326 -6406
- Misses 48411 55450 +7039
+ Partials 10633 10051 -582
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
mna
left a comment
There was a problem hiding this comment.
Very nice! Left some questions for minor stuff, but that was a joy to read and easy to follow.
mna
left a comment
There was a problem hiding this comment.
Approving as I think you want to follow-up in another PR.
|
Note: It's fine that TestIntegrationsMDM/TestVPPAppInstallVerification is failing for now on this branch, I will fix that once this PR is merged. |
b0917ba
into
feat-32247-ios-ipados-self-service
Implements #32247. This is the complete feature branch, consolidating: - #35018 - #34758 - #35009 - #35181 - #35342 --------- Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com> Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Co-authored-by: Martin Angers <martin.n.angers@gmail.com> Co-authored-by: jkatz01 <yehonatankatz@gmail.com>
Implements #34258. Adds certificate authentication for the My Device page on iOS/iPadOS.
Summary
iOS and iPadOS devices don't run Fleet Desktop, so they can't use token-based authentication for the My Device page. This implements certificate-based authentication using Fleet Identity certificates already issued during MDM enrollment.
Load balancer extracts certificate serial from mTLS connection and passes to Fleet via
X-Client-Cert-Serialheader. Fleet validates the certificate matches the device UUID and enforces platform restrictions (iOS/iPadOS only).This enables:
$FLEET_VAR_HOST_UUIDDetails
AuthenticateDeviceByCertificate()to validate certificate serial againsthost_identity_scep_certificatestableX-Client-Cert-Serialheadercertserialcontext package following Fleet's existing patternsAuthnDeviceCertificateauthentication method to authz packageTesting