Skip to content

feat(rtn-passkeys): add ios support - 3a #14392

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: feat/rtn-passkeys/2-modify-existing-impl
Choose a base branch
from

Conversation

jjarvisp
Copy link
Member

@jjarvisp jjarvisp commented May 17, 2025

Description of changes

The purpose of this PR is to add iOS support for the React Native implementation of webauthn.

  • Adds objc adapter class to map typed native input from JSI to swift
  • Adds swift class containing complementary getPasskey, createPasskey, and getIsPasskeySupported APIs
  • Adds swift delegate for handling async UI task completion to return assertion and registration result
  • Adds helper utility for transcoding base64url
  • Adds corresponding mock data and unit tests for swift implementation

Issue #, if available

Description of how you validated changes

Checklist

  • PR description included
  • yarn test passes
  • Unit Tests are changed or added
  • Relevant documentation is changed or added (and PR referenced)

Checklist for repo maintainers

  • Verify E2E tests for existing workflows are working as expected or add E2E tests for newly added workflows
  • New source file paths included in this PR have been added to CODEOWNERS, if appropriate

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jjarvisp jjarvisp changed the title feat(rtn-passkeys): add ios support feat(rtn-passkeys): add ios support - 3a May 17, 2025
@jjarvisp jjarvisp force-pushed the feat/rtn-passkeys/2-modify-existing-impl branch from abd18da to 8065ea4 Compare May 17, 2025 23:32
@jjarvisp jjarvisp force-pushed the feat/rtn-passkeys/3a-add-ios-support branch 2 times, most recently from c993348 to 8669899 Compare May 20, 2025 17:13
@jjarvisp jjarvisp marked this pull request as ready for review May 20, 2025 17:34
@jjarvisp jjarvisp requested a review from a team as a code owner May 20, 2025 17:34
Copy link
Member

@AllanZhengYP AllanZhengYP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The general flow looks good to me. I will defer the review for ObjC & Swift code details to other reviewers.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: The indentation of this file is a bit weird with mix of tab and spaces.
Screenshot 2025-05-21 at 2 58 16 PM

Comment on lines +42 to +43
switch authorization.credential {
case let assertionCredential
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: indentation?

errorName: errorName, errorMessage: errorMessage, error: error)
}

func presentationAnchor(for controller: ASAuthorizationController)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: what's this function for?

@jjarvisp jjarvisp force-pushed the feat/rtn-passkeys/3a-add-ios-support branch from 8669899 to b55f3a1 Compare May 21, 2025 23:57
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.

2 participants