Skip to content

Fix iOS OIDC passkey login#16

Open
ZacharyZcR wants to merge 2 commits into
Termix-SSH:mainfrom
ZacharyZcR:fix/ios-oidc-passkeys
Open

Fix iOS OIDC passkey login#16
ZacharyZcR wants to merge 2 commits into
Termix-SSH:mainfrom
ZacharyZcR:fix/ios-oidc-passkeys

Conversation

@ZacharyZcR
Copy link
Copy Markdown
Member

Overview

Fix iOS OIDC passkey login by moving the identity-provider authorization step into the system authentication session.

  • Added: ...
  • Updated: iOS OIDC navigation to use ASWebAuthenticationSession through expo-web-browser
  • Removed: ...
  • Fixed: Passkey-capable OIDC login on iOS 17.4+ while preserving the existing WebView callback/token handoff

Changes Made

  • Detect OIDC authorization redirects from the login WebView by checking for the backend /users/oidc/callback redirect URI.
  • On iOS 17.4+, open that authorization URL with WebBrowser.openAuthSessionAsync so passkeys/WebAuthn run in the system authentication context.
  • Continue the returned backend callback URL inside the existing WebView so Termix still exchanges the code, sets its session cookie, and posts the JWT back to the native app through the existing flow.
  • Leave Android, older iOS versions, and non-OIDC navigation on the existing WebView path.

Related Issues

Screenshots / Demos

Not included; this requires an iOS passkey/OIDC provider setup.

Validation run locally:

  • npx eslint app/authentication/LoginForm.tsx passes with existing warnings only.
  • npm run lint still fails on existing repository-wide lint errors outside this change.
  • npx tsc --noEmit still fails on existing repository-wide TypeScript errors outside this change; LoginForm.tsx no longer reports errors.

Checklist

  • Code follows project style guidelines
  • Supports mobile and desktop UI/app (if applicable)
  • I have read Contributing.md

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.

[BUG] Browser for OIDC Authentication does not allow Passkeys

1 participant