enrollLocalLogin method
Implementation
Future<void> enrollLocalLogin(BuildContext context) async {
if (_hasLocalAuth!) {
var storage = new FlutterSecureStorage();
var localLoginString = await storage.read(key: 'localLoginEnabled');
var localLoginInitialisedString =
await storage.read(key: 'localLoginInitialised');
if (localLoginString == null ||
(localLoginString.toLowerCase() == 'true' &&
localLoginInitialisedString == null)) {
var transition = BindingTransition();
var enroll = await transition.yesNoTransition(
context: context,
title: _localAuthType! + ' Enrollment',
subTitle: '',
message: 'Would you like you like to enable ' + _localAuthType! + '?',
confirmLabel: 'CONFIRM',
icon: _localAuthType == 'Face Id'
? Icons.face_sharp
: Icons.fingerprint,
iconColor: Colors.orangeAccent,
);
if (enroll.toString().toLowerCase() == 'true') {
await storage.write(key: 'localLoginEnabled', value: 'true');
await storage.write(key: 'localLoginInitialised', value: 'true');
await storage.write(
key: 'localLoginUid', value: _authService.user.uid);
_localLoginEnabled = true;
_localLoginInitialised = true;
_localLoginUid = _authService.user.uid;
await storage.write(
key: 'localLoginEmail', value: _loginBindingmodel.email);
await storage.write(
key: 'localLoginPassword', value: _loginBindingmodel.password);
} else {
await storage.write(key: 'localLoginEnabled', value: 'false');
_localLoginEnabled = false;
_localLoginInitialised = false;
_localLoginUid = null;
}
}
}
}