goBiometricAuth method
dynamic
goBiometricAuth(
- int type
)
Implementation
goBiometricAuth(int type) async {
final LocalAuthentication localAuth = LocalAuthentication();
if(!(await isAbleBioAuth(localAuth))) {
// Fluttertoast.showToast(
// msg: "생체인식이 지원되지 않는 기기입니다. 비밀번호 결제로 진행합니다.",
// toastLength: Toast.LENGTH_SHORT,
// gravity: ToastGravity.BOTTOM,
// timeInSecForIosWeb: 1,
// backgroundColor: Colors.black54,
// textColor: Colors.white,
// fontSize: 16.0
// );
requestPasswordForPay();
return;
}
try {
bool authenticated = await localAuth.authenticate(
localizedReason: '인증 후 결제가 진행됩니다',
authMessages: const <AuthMessages>[
AndroidAuthMessages(
signInTitle: '생체 인증 후 결제가 진행됩니다',
biometricHint: ''
),
IOSAuthMessages(
localizedFallbackTitle: "생체 인증 후 결제가 진행됩니다"
),
],
options: const AuthenticationOptions(
useErrorDialogs: true,
biometricOnly: true
)
);
// bool authenticated = await localAuth.authenticate(
// localizedReason:
// '인증 후 결제가 진행됩니다',
// androidAuthStrings: AndroidAuthMessages(
// signInTitle: '생체 인증',
// biometricHint: ''
// ),
// iOSAuthStrings: IOSAuthMessages(
// localizedFallbackTitle: "비밀번호를 입력해주세요"
// ),
// // stickyAuth: true,
// useErrorDialogs: true);
if(authenticated) {
onAuthenticationSucceeded(type);
} else {
if(widget.onCancel != null) { widget.onCancel!('{"action":"BootpayCancel","status":-100,"message":"인증이 취소되었거나 실패하였습니다."}'); }
bootpayClose();
// if(widget.onClose != null) { widget.onClose!(); }
// BootpayBio().dismiss(context);
}
} on PlatformException catch (e) {
if(widget.onError != null) { widget.onError!("생체인식에 실패하였습니다."); }
// if(widget.onError != null) { widget.onError!(e.toString()); }
bootpayClose();
// if(widget.onClose != null) { widget.onClose!(); }
// BootpayBio().dismiss(context);
// Widget.on
}
}