thirdfactor_kyc 1.2.0
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: noneand the git dependency ondmrtdare gone — pub.dev rejects packages with git dependencies, so native chip reading moved out of the core package (see below). Install with a plainthirdfactor_kyc: ^1.2.0now. -
BREAKING (NFC users only): chip reading is now injected. The dmrtd-backed
ThirdFactorNfcclass moved to the git-distributed companion packagethirdfactor_kyc_nfcand became an instance-constructible implementation of the newNfcChipReaderinterface (defined here). The SDK only advertises thenfccapability to the hosted flow when a reader is passed via the newnfcReader:parameter onThirdFactor.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 thenfcReaderparameter onThirdFactor.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 beyondThirdFactor.verify.- Injects the
window.__thirdfactorHosthandshake on page load, advertising thenfccapability only when the device has NFC switched on. - Handles the
nfc.scancommand on the existingThirdFactorFlutterJavaScript channel and replies viawindow.ThirdFactorNative.resolveCommand(...)(safely double-escaped JSON). - Lifecycle-event handling (
ready/completed/error/close) is unchanged.
- Injects the
- 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
dmrtdv2.0.0(BAC/PACE, secure messaging, EF/DG parsing), which bundlesflutter_nfc_kit ^3.6.xas 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 normalizedVerificationResult.ThirdFactorVerificationPagewidget for apps that manage their own navigation.- Implements the bridge protocol (
docs/sdk/PROTOCOL.md) over theThirdFactorFlutterJavaScript channel:ready/completed/error/closeevents, origin validation, and the §5 status mapping viaStatusMapper. - Camera/microphone granted to the flow via platform hooks (Android media-gesture, iOS inline playback).