Skip to content

[HOLD — deploy-gated] GitHub in-app OAuth + Universal Links (iOS A1/A2) - #14

Open
Adron wants to merge 1 commit into
devfrom
feat/github-oauth-universal-links
Open

[HOLD — deploy-gated] GitHub in-app OAuth + Universal Links (iOS A1/A2)#14
Adron wants to merge 1 commit into
devfrom
feat/github-oauth-universal-links

Conversation

@Adron

@Adron Adron commented Aug 3, 2026

Copy link
Copy Markdown
Member

iOS side of backend asks A1 (GitHub in-app OAuth) + A2 (Universal Links)

⚠️ HOLD — do not merge until the two ops prerequisites below are done. Merging early ships a broken GitHub button and/or breaks signed builds.

Pairs with the backend PR (feat(auth): GitHub mobile OAuth handoff + Universal Links AASA) on CompositeCode/interlinedlist. Details in Backend-Asks-A1-A2.md.

Changes (3 files)

  • A1OAuthCoordinator.supportsNativeAuth now returns true for all providers (was self != .github). GitHub sign-in and linking light up automatically in LoginView/RegisterView/LinkedIdentitiesView.
  • A2 — added com.apple.developer.associated-domains = applinks:interlinedlist.com to InterlinedList.entitlements (alongside aps-environment). No app code change — G10's .onOpenURL + AppDeepLink.parse already route https://interlinedlist.com/{user,message,lists,documents}/… permalinks. (Also refreshed the stale TODO(A2) note in InterlinedListApp.swift.)

Merge prerequisites (ops — cannot be done in code)

  1. Deploy the backend A1 change first. Until /api/auth/github/{authorize,callback} ships the mobile sync-token handoff, tapping GitHub 401s (routes through the existing handleUnauthorized() path, but it's a dead button).
  2. Enable "Associated Domains" for App ID com.interlinedlist.app in the Apple Developer portal and regenerate the provisioning profile. Without it, signed device/TestFlight/App-Store builds fail to sign with the new entitlement. (Simulator builds and the code-signing-disabled CI build are unaffected — verified: build-for-testing green, 747 unit tests pass.)

After both, deploy the backend AASA and verify via https://app-site-association.cdn-apple.com/a/v1/interlinedlist.com, then merge.

🤖 Generated with Claude Code

…nt (A1/A2 iOS)

A1: OAuthProvider.supportsNativeAuth now returns true for all providers (was
'self != .github'), so GitHub sign-in + linking enable in LoginView/RegisterView/
LinkedIdentitiesView. A2: add com.apple.developer.associated-domains
(applinks:interlinedlist.com) to the entitlements; G10's onOpenURL/AppDeepLink.parse
already route https permalinks. DEPLOY-GATED — see PR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adron added a commit that referenced this pull request Aug 3, 2026
Hand-off spec for the two remaining backend/ops dependencies for iOS parity:
exact backend diffs (GitHub authorize/callback mobile handoff; AASA route +
middleware bypass), the AASA JSON with appID BJA9558E4B.com.interlinedlist.app,
the iOS entitlement/flag, and the deploy + Apple-portal provisioning steps.
Implementations: backend PR (CompositeCode/interlinedlist) + iOS HOLD PR #14.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant