Fix for self signed certs issue (but only partially implemented dev-mode settings)

merge-requests/2/merge
Hank Grabowski 2022-11-20 10:06:44 -05:00
rodzic 2c9357741f
commit b280a74e40
7 zmienionych plików z 38 dodań i 5 usunięć

5
.gitignore vendored
Wyświetl plik

@ -42,3 +42,8 @@ app.*.map.json
/android/app/debug /android/app/debug
/android/app/profile /android/app/profile
/android/app/release /android/app/release
# Environment variables
.env
.env*

Wyświetl plik

@ -2,4 +2,7 @@
A Flutter application for interfacing with the Friendica social network. A Flutter application for interfacing with the Friendica social network.
Licensed with the Mozilla Public License 2.0 copyleft license. For Linux development be sure that libsecret-1-dev and libjsoncpp-dev are installed on the machine. For running only make sure the non-dev versions are...
Licensed with the Mozilla Public License 2.0 copyleft license.

Wyświetl plik

@ -168,6 +168,7 @@ class FriendicaClient {
FutureResult<String, ExecError> _getUrl(Uri url) async { FutureResult<String, ExecError> _getUrl(Uri url) async {
try { try {
//SecurityContext.defaultContext.setTrustedCertificates('/etc/apache2/certificate/apache-certificate.crt');
final response = await http.get( final response = await http.get(
url, url,
headers: { headers: {

Wyświetl plik

@ -1,4 +1,7 @@
import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:result_monad/result_monad.dart'; import 'package:result_monad/result_monad.dart';
@ -15,6 +18,16 @@ import 'services/timeline_manager.dart';
import 'utils/app_scrolling_behavior.dart'; import 'utils/app_scrolling_behavior.dart';
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized();
await dotenv.load(fileName: '.env');
final inDevMode = dotenv.env['USE_DEV_MODE'] == 'true' ? true : false;
if (inDevMode) {
print('In Dev Mode');
SecurityContext.defaultContext.setTrustedCertificates(
'/etc/apache2/certificate/apache-certificate.crt');
} else {
print('In Regular Mode');
}
Logger.root.level = Level.ALL; Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((event) { Logger.root.onRecord.listen((event) {
final logName = event.loggerName.isEmpty ? 'ROOT' : event.loggerName; final logName = event.loggerName.isEmpty ? 'ROOT' : event.loggerName;
@ -22,7 +35,7 @@ void main() async {
'${event.level.name} - $logName @ ${event.time}: ${event.message}'; '${event.level.name} - $logName @ ${event.time}: ${event.message}';
print(msg); print(msg);
}); });
WidgetsFlutterBinding.ensureInitialized();
final authService = AuthService(); final authService = AuthService();
final secretsService = SecretsService(); final secretsService = SecretsService();
final entryManagerService = EntryManagerService(); final entryManagerService = EntryManagerService();

Wyświetl plik

@ -49,7 +49,7 @@ class _SignInScreenState extends State<SignInScreen> {
TextFormField( TextFormField(
autovalidateMode: AutovalidateMode.onUserInteraction, autovalidateMode: AutovalidateMode.onUserInteraction,
controller: usernameController, controller: usernameController,
validator: (value) => EmailValidator.validate(value ?? '') validator: (value) => true //EmailValidator.validate(value ?? '')
? null ? null
: 'Not a valid Friendica Account Address', : 'Not a valid Friendica Account Address',
decoration: InputDecoration( decoration: InputDecoration(
@ -99,7 +99,7 @@ class _SignInScreenState extends State<SignInScreen> {
final result = await Credentials.buildFromHandle( final result = await Credentials.buildFromHandle(
usernameController.text, usernameController.text,
passwordController.text, passwordController.text,
).andThenSuccess((creds) async { ).andThenAsync((creds) async {
return await getIt<AuthService>().signIn(creds); return await getIt<AuthService>().signIn(creds);
}); });

Wyświetl plik

@ -139,6 +139,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.3.0" version: "3.3.0"
flutter_dotenv:
dependency: "direct main"
description:
name: flutter_dotenv
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.2"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:

Wyświetl plik

@ -29,6 +29,7 @@ dependencies:
uuid: ^3.0.6 uuid: ^3.0.6
time_machine: ^0.9.17 time_machine: ^0.9.17
url_launcher: ^6.1.6 url_launcher: ^6.1.6
flutter_dotenv: ^5.0.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
@ -37,7 +38,9 @@ dev_dependencies:
flutter: flutter:
uses-material-design: true uses-material-design: true
assets:
# Add assets from the images directory to the application.
- .env
parts: parts:
uet-lms: uet-lms:
source: . source: .
@ -79,3 +82,4 @@ parts:
# #
# For details regarding fonts from package dependencies, # For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages # see https://flutter.dev/custom-fonts/#from-packages