fix(mobile): add Expo app config for iOS associatedDomains and exampl… - #584
fix(mobile): add Expo app config for iOS associatedDomains and exampl…#584Davoski1 wants to merge 1 commit into
Conversation
…e .well-known files for passkeys
|
@rhoggs-bot-test-account is attempting to deploy a commit to the miracle656's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Davoski1 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Thanks for this! It needs a rebase before it can land. Since this branch was opened, the mobile config moved from Could you rebase onto |
Summary
Add iOS associated domains wiring for passkeys and example .well-known payloads for domain association.
Changes
frontend/mobile/app.config.jsios.associatedDomainsfromEXPO_PUBLIC_PASSKEY_RP_ID(e.g.veil.apporyour-domain.com) so the generated iOS build includeswebcredentials:<rp-id>.examples/expo/.well-known/:apple-app-site-association.json— example iOSwebcredentialspayload for hosting athttps://<your-domain>/.well-known/apple-app-site-association.assetlinks.json— example Android Digital Asset Links payload for hosting athttps://<your-domain>/.well-known/assetlinks.json.Why
Mobile passkeys on iOS require the native app entitlement
associatedDomainswith an entry of the formwebcredentials:<rp-id>. This change enables builds to pick the relying-party id from the environment (so secrets/hostnames aren't baked into source) and provides example.well-knownpayloads that must be hosted on the web origin to complete the platform association.Notes for maintainers / operators
EXPO_PUBLIC_PASSKEY_RP_ID(e.g.veil.apporyour-domain.com) in your CI/EAS or local environment before building iOS artifacts so the entitlement is injected.apple-app-site-associationathttps://<domain>/.well-known/apple-app-site-association(the URL typically omits the.jsonsuffix). Serve it over HTTPS withapplication/jsoncontent-type.<TEAM_ID>.<BUNDLE_ID><your.package.name>and<SHA256>fingerprint(s)Testing / Verification
EXPO_PUBLIC_PASSKEY_RP_IDset and verifyassociatedDomainscontainswebcredentials:<rp-id>in the generated entitlements.apple-app-site-associationon the domain and confirm iOS recognizes the association (device logs / Apple verification tools).Closes #446