Implementasi Autentikasi Fingerprint Pada Flutter
Ada kalanya kita perlu mengimplementasikan autentikasi berupa sidik jari (fingerprint) dalam aplikasi yang kita kembangkan. Dalam flutter implementasi sidik jari dapat dengan mudah digunakan. Tersedia plugin yang di maintain langsung oleh tim Flutter sendiri. Plugin yang kita gunakan adalah local_auth.
Untuk mulai mengimplementasikan :
- Tambah plugin local_auth dalam pubspec.yaml
dependencies:
local_auth: "^0.0.1"
- Lalu pada flutter, membuat file yang akan menampilkan scan fingerprint berupa popup :
import 'package:local_auth/local_auth.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class AuthorizePage extends StatefulWidget {
@override
_AuthorizePageState createState() =>_AuthorizePageState();
}
class _AuthorizePageState extends State<AuthorizePage> {
final LocalAuthentication localAuth = LocalAuthentication();
bool _canCheckBiometric = false;
String _authorizeText = 'Not Authorized!';
List availableBiometrics = List();
Future _authorize() async {
bool _isAuthorized = false;
try {
_isAuthorized = await localAuth.authenticateWithBiometrics(
localizedReason: 'Please authenticate to Complete this process',
useErrorDialogs: true,
stickyAuth: true,
);
} on PlatformException catch (e) {
print(e);
}
if (!mounted) return;
setState(() {
if (_isAuthorized) {
_authorizeText = "Authorized Successfully!";
} else {
_authorizeText = "Not Authorized!";
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Touch ID Auth Example')),
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(_authorizeText),
),
RaisedButton(
child: Text('Authorize'),
color: Colors.red,
onPressed: _authorize,
)
],
)),
);
}
}Integrasi Android
Untuk dapat berjalan di android, kita perlu mengubah/menambah beberapa :
Tambahkan permission untuk mengakses fingerprint pada AndroidManifest.xml
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
Selanjutnya ubah file MainActivity.java atau MainActivity.kt yang berada di struktur project android dengan mengubah implementasinya dari FlutterActivity ke FlutterFragmentActivity, seperti :
import android.os.Bundle;
import io.flutter.app.FlutterFragmentActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterFragmentActivity {
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
}Integrasi di iOS
Sementara untuk di ios diperlukan permission juga ke dalam file info.plist berupa :
NSFaceIDUsageDescription
Why is my app authenticating using face id?maka akan menampilkan seperti ini :
Bacaan terkait
Cara Install Composer di Windows Dengan Mudah
Composer adalah dependency manager yang sangat populer untuk pengembangan aplikasi berbasis PHP. Di artikel ini, Anda akan belajar cara menginstal Composer di Window...
10 Tips dan Trik Composer yang Wajib Diketahui Developer PHP
Composer adalah dependency manager yang sangat penting bagi developer PHP. Meskipun terlihat sederhana, ada banyak fitur dan trik yang sering terlewatkan. Berikut ad...
Install Golang di Mac
Berikut adalah panduan untuk menginstal Go (Golang) di macOS: 1. Mengunduh dan Menginstal Go Anda dapat menginstal Go menggunakan beberapa metode, termasuk Homebrew...
Komentar (0)
Belum ada komentar. Jadilah yang pertama.
Tulis komentar
Komentar akan dimoderasi sebelum tampil.

