b5cf3d9e01acacf8b98e3720abec630ac7bfbf2b
idp.global Swift App
Multiplatform SwiftUI scaffold for the personal idp.global companion app on iPhone, iPad, Mac, and Apple Watch.
Included in this first pass
- QR and NFC-based device pairing flows with a seeded preview payload fallback
- NFC authentication now attaches a signed GPS position on supported iPhone hardware
- Mocked approval inbox for accepting or rejecting identity requests
- Notification center with local notification permission flow and a test notification trigger
- Apple Watch companion target with a compact approval-first dashboard and request detail flow
- Shared app state and mock backend boundary so a real API can be connected later
Open the project
- Open IDPGlobal.xcodeproj.
- Build the
IDPGlobalscheme for:My Mac- an iPad simulator
- an iPhone simulator
- Build the
IDPGlobalWatchscheme for an Apple Watch simulator when you want to verify the companion experience.
Mock QR payload
The app seeds this pairing payload on first launch:
idp.global://pair?token=swiftapp-demo-berlin&origin=code.foss.global&device=Safari%20on%20Berlin%20MBP
You can paste it manually, scan it as a QR code, or use the preview pairing action while the backend is still mocked.
For NFC authentication, the app reads the pairing payload from the tag, captures the current device location, signs that GPS position, and submits both together.
Next integration step
Replace MockIDPService with a live service that:
- exchanges the pairing payload and signed NFC location proof for a session token
- loads approval requests and notifications from the backend
- posts approval decisions back to
idp.global - syncs session and request state between iPhone and Apple Watch, likely through a shared backend session or WatchConnectivity bridge
Languages
Swift
100%