Skip to main content

thirdfactor_kyc 1.2.0 copy "thirdfactor_kyc: ^1.2.0" to clipboard
thirdfactor_kyc: ^1.2.0 copied to clipboard

ThirdFactor / Obsidian KYC — Flutter client SDK. Opens the hosted verification flow in a WebView and returns one normalized result. Native ePassport/eID NFC reading plugs in via the thirdfactor_kyc_nf [...]

Changelog #

1.2.0 #

  • Published to pub.dev. publish_to: none and the git dependency on dmrtd are gone — pub.dev rejects packages with git dependencies, so native chip reading moved out of the core package (see below). Install with a plain thirdfactor_kyc: ^1.2.0 now.

  • BREAKING (NFC users only): chip reading is now injected. The dmrtd-backed ThirdFactorNfc class moved to the git-distributed companion package thirdfactor_kyc_nfc and became an instance-constructible implementation of the new NfcChipReader interface (defined here). The SDK only advertises the nfc capability to the hosted flow when a reader is passed via the new nfcReader: parameter on ThirdFactor.verify / ThirdFactorVerificationPage; without one, the flow keeps its server-side NFC fallback and everything else works with zero configuration.

    Migration (two lines):

    import 'package:thirdfactor_kyc_nfc/thirdfactor_kyc_nfc.dart'; // git dep — see README
    await ThirdFactor.verify(context, url: url, nfcReader: const ThirdFactorNfc());
    

    Standalone reads change the same way: ThirdFactorNfc.read(...) (static) → const ThirdFactorNfc().read(...). Integrations that never used NFC need no changes.

  • New public API: NfcChipReader (the delegate interface), ThirdFactorVerificationPage.nfcReader, and the nfcReader parameter on ThirdFactor.verify. The NFC value types (NfcReadResult, NfcDataGroup, NfcAuthResult, NfcException, NfcErrorCode) stay in this package — they are part of the interface and carry no dmrtd dependency.

1.1.0 #

  • Native NFC ePassport / eID reading. When the hosted flow reaches an NFC step, the SDK now reads the ICAO-9303 chip natively over the capability bridge (docs/sdk/PROTOCOL.md §8) and forwards the raw chip bytes for the backend to authenticate — automatic, no integration code beyond ThirdFactor.verify.
    • Injects the window.__thirdfactorHost handshake on page load, advertising the nfc capability only when the device has NFC switched on.
    • Handles the nfc.scan command on the existing ThirdFactorFlutter JavaScript channel and replies via window.ThirdFactorNative.resolveCommand(...) (safely double-escaped JSON).
    • Lifecycle-event handling (ready/completed/error/close) is unchanged.
  • New standalone API ThirdFactorNfc.read(...) / ThirdFactorNfc.isAvailable() for apps that want to read the chip directly, independent of the flow.
  • Chip reading uses the proven dmrtd v2.0.0 (BAC/PACE, secure messaging, EF/DG parsing), which bundles flutter_nfc_kit ^3.6.x as the NFC session provider. The SDK forwards raw bytes only; passive authentication stays server-side.
  • dmrtd error codes are mapped to the PROTOCOL §8.4 wire codes (user_cancelled / tag_lost / wrong_key / unsupported / nfc_disabled / timeout).
  • New public types: NfcReadResult, NfcDataGroup, NfcAuthResult, NfcException, NfcErrorCode.

1.0.0 #

  • Initial release of thirdfactor_kyc, the Flutter client SDK for the ThirdFactor / Obsidian native KYC platform.
  • ThirdFactor.verify(context, url: …) opens the hosted verification flow in a full-screen WebView and resolves one normalized VerificationResult.
  • ThirdFactorVerificationPage widget for apps that manage their own navigation.
  • Implements the bridge protocol (docs/sdk/PROTOCOL.md) over the ThirdFactorFlutter JavaScript channel: ready / completed / error / close events, origin validation, and the §5 status mapping via StatusMapper.
  • Camera/microphone granted to the flow via platform hooks (Android media-gesture, iOS inline playback).
0
likes
110
points
10
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

ThirdFactor / Obsidian KYC — Flutter client SDK. Opens the hosted verification flow in a WebView and returns one normalized result. Native ePassport/eID NFC reading plugs in via the thirdfactor_kyc_nfc companion.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, webview_flutter, webview_flutter_android, webview_flutter_wkwebview

More

Packages that depend on thirdfactor_kyc