Sdks 4852 RN Fido Package#29
Conversation
|
b79c7de to
a8f6181
Compare
| */ | ||
| @JvmStatic | ||
| fun configure(reactContext: ReactApplicationContext) { | ||
| ContextProvider.init(reactContext.applicationContext) |
There was a problem hiding this comment.
Do we need this configure function, when include the Android SDK, the application context will automatically injected.
There was a problem hiding this comment.
The RN bridge requires explicit ContextProvider.init, the Android SDK's auto-injection via ContentProvider doesn't propagate reliably into the React Native layer.
| This software may be modified and distributed under the terms | ||
| of the MIT license. See the LICENSE file for details. | ||
| --> | ||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android"> |
There was a problem hiding this comment.
Yeah, RN library modules need it even when empty, it's a build system requirement on the Android side. Every other package in this repo has the same empty manifest for the same reason. Safe to keep it as-is.
rodrigoareis
left a comment
There was a problem hiding this comment.
Overall changes looks good to me. Left some minor comments.
…invalid props spread
…ationCallback in useCallback
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (6)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughAdds a new FIDO React Native package with native Android/iOS bridges, tests and docs; integrates FIDO into Journey (new execution modes, async applier, removed auto-polling); refactors sample app to separate Journey/OIDC profiles and new Journey controller hooks; plus many CI, config, and test infra updates. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor App as "JS App"
participant FidoClient as "FIDO JS Client"
participant Journey as "Journey Client"
participant Native as "Native Module"
participant OS as "Platform Auth"
App->>FidoClient: createFidoClient(config)
App->>FidoClient: registerForJourney(journey, options)
FidoClient->>Journey: journey.getId()
FidoClient->>Native: registerCredentialForJourney(journeyId, options, config)
Native->>OS: requestRegistrationWindow(anchor?)
OS-->>Native: credential/result or error
Native-->>FidoClient: resolve/reject with mapped result/error
FidoClient-->>App: promise resolves/rejects
Note over Journey,FidoClient: on success caller may advance Journey via client.next({})
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Poem
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #29 +/- ##
============================================
- Coverage 61.38% 59.33% -2.06%
- Complexity 43 71 +28
============================================
Files 113 120 +7
Lines 9430 9947 +517
Branches 408 412 +4
============================================
+ Hits 5789 5902 +113
- Misses 3589 3991 +402
- Partials 52 54 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
PR Summary
Adds a new
@ping-identity/rn-fidomodule and introduces explicit FIDO handling within Journey flows.Reviewer Notes
Key Changes
New
packages/fidopackageNew Journey-scoped FIDO APIs
registerForJourney(...)authenticateForJourney(...)Journey behavior update
Sample app updates
journey.next(...)after FIDO completesTesting
Summary by CodeRabbit
New Features
Bug Fixes & Improvements
Configuration