From 9adfe636d6fb7ebb31951715d4ec722b67522641 Mon Sep 17 00:00:00 2001 From: Kima Date: Sat, 17 Aug 2024 23:34:39 +0200 Subject: [PATCH] maybe finally fixed ios login problem (i hope so) --- .../lib/screens/login/kreten_login.dart | 90 ++++++++++++------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/refilc_mobile_ui/lib/screens/login/kreten_login.dart b/refilc_mobile_ui/lib/screens/login/kreten_login.dart index 95feb83..df7bcb6 100644 --- a/refilc_mobile_ui/lib/screens/login/kreten_login.dart +++ b/refilc_mobile_ui/lib/screens/login/kreten_login.dart @@ -25,42 +25,70 @@ class _KretenLoginScreenState extends State { ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setNavigationDelegate(NavigationDelegate( onNavigationRequest: (n) async { - if (n.url.startsWith('https://mobil.e-kreta.hu') || - n.url.startsWith('https://idp.e-kreta.hu')) { - return NavigationDecision.navigate; - } else { + if (n.url.startsWith('https://mobil.e-kreta.hu')) { + setState(() { + loadingPercentage = 0; + currentUrl = n.url; + }); + + // final String instituteCode = widget.selectedSchool; + // if (!n.url.startsWith( + // 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=')) { + // return; + // } + + List requiredThings = n.url + .replaceAll( + 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=', + '') + .replaceAll( + '&scope=openid%20email%20offline_access%20kreta-ellenorzo-webapi.public%20kreta-eugyintezes-webapi.public%20kreta-fileservice-webapi.public%20kreta-mobile-global-webapi.public%20kreta-dkt-webapi.public%20kreta-ier-webapi.public&state=refilc_student_mobile&session_state=', + ':') + .split(':'); + + String code = requiredThings[0]; + // String sessionState = requiredThings[1]; + + widget.onLogin(code); + // Future.delayed(const Duration(milliseconds: 500), () { + // Navigator.of(context).pop(); + // }); + // Navigator.of(context).pop(); + return NavigationDecision.prevent; + } else { + return NavigationDecision.navigate; } }, onPageStarted: (url) async { - setState(() { - loadingPercentage = 0; - currentUrl = url; - }); - - // final String instituteCode = widget.selectedSchool; - if (!url.startsWith( - 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=')) { - return; - } - - List requiredThings = url - .replaceAll( - 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=', - '') - .replaceAll( - '&scope=openid%20email%20offline_access%20kreta-ellenorzo-webapi.public%20kreta-eugyintezes-webapi.public%20kreta-fileservice-webapi.public%20kreta-mobile-global-webapi.public%20kreta-dkt-webapi.public%20kreta-ier-webapi.public&state=refilc_student_mobile&session_state=', - ':') - .split(':'); - - String code = requiredThings[0]; - // String sessionState = requiredThings[1]; - - widget.onLogin(code); - // Future.delayed(const Duration(milliseconds: 500), () { - // Navigator.of(context).pop(); + // setState(() { + // loadingPercentage = 0; + // currentUrl = url; // }); - // Navigator.of(context).pop(); + + // // final String instituteCode = widget.selectedSchool; + // if (!url.startsWith( + // 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=')) { + // return; + // } + + // List requiredThings = url + // .replaceAll( + // 'https://mobil.e-kreta.hu/ellenorzo-student/prod/oauthredirect?code=', + // '') + // .replaceAll( + // '&scope=openid%20email%20offline_access%20kreta-ellenorzo-webapi.public%20kreta-eugyintezes-webapi.public%20kreta-fileservice-webapi.public%20kreta-mobile-global-webapi.public%20kreta-dkt-webapi.public%20kreta-ier-webapi.public&state=refilc_student_mobile&session_state=', + // ':') + // .split(':'); + + // String code = requiredThings[0]; + // // String sessionState = requiredThings[1]; + + // widget.onLogin(code); + // // Future.delayed(const Duration(milliseconds: 500), () { + // // Navigator.of(context).pop(); + // // }); + // // Navigator.of(context).pop(); }, onProgress: (progress) { setState(() {