mirror of
https://github.com/ente-io/ente.git
synced 2025-08-13 17:57:31 +00:00
[auth] Bypass auth in debugMode if recently authenticated
This commit is contained in:
@@ -8,6 +8,7 @@ import 'package:ente_auth/utils/auth_util.dart';
|
|||||||
import 'package:ente_auth/utils/dialog_util.dart';
|
import 'package:ente_auth/utils/dialog_util.dart';
|
||||||
import 'package:ente_auth/utils/lock_screen_settings.dart';
|
import 'package:ente_auth/utils/lock_screen_settings.dart';
|
||||||
import 'package:ente_auth/utils/toast_util.dart';
|
import 'package:ente_auth/utils/toast_util.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_local_authentication/flutter_local_authentication.dart';
|
import 'package:flutter_local_authentication/flutter_local_authentication.dart';
|
||||||
@@ -19,11 +20,19 @@ class LocalAuthenticationService {
|
|||||||
static final LocalAuthenticationService instance =
|
static final LocalAuthenticationService instance =
|
||||||
LocalAuthenticationService._privateConstructor();
|
LocalAuthenticationService._privateConstructor();
|
||||||
final logger = Logger((LocalAuthenticationService).toString());
|
final logger = Logger((LocalAuthenticationService).toString());
|
||||||
|
int lastAuthTime = 0;
|
||||||
|
|
||||||
Future<bool> requestLocalAuthentication(
|
Future<bool> requestLocalAuthentication(
|
||||||
BuildContext context,
|
BuildContext context,
|
||||||
String infoMessage,
|
String infoMessage,
|
||||||
) async {
|
) async {
|
||||||
|
if (kDebugMode) {
|
||||||
|
// if last auth time is less than 60 seconds, don't ask for auth again
|
||||||
|
if (lastAuthTime != 0 &&
|
||||||
|
DateTime.now().millisecondsSinceEpoch - lastAuthTime < 60000) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (await isLocalAuthSupportedOnDevice() ||
|
if (await isLocalAuthSupportedOnDevice() ||
|
||||||
LockScreenSettings.instance.getIsAppLockSet()) {
|
LockScreenSettings.instance.getIsAppLockSet()) {
|
||||||
AppLock.of(context)!.setEnabled(false);
|
AppLock.of(context)!.setEnabled(false);
|
||||||
@@ -39,6 +48,7 @@ class LocalAuthenticationService {
|
|||||||
showToast(context, infoMessage);
|
showToast(context, infoMessage);
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
|
lastAuthTime = DateTime.now().millisecondsSinceEpoch;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user