goBiometricAuth method

dynamic goBiometricAuth(
  1. 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
  }
}