feat: add school authentication entry with guarded import
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
class SchoolNavigationPolicy {
|
||||
static bool canNavigate(Uri uri, {required bool isMainFrame}) => isMainFrame
|
||||
? isSchoolPage(uri)
|
||||
: (uri.scheme == 'https' && uri.userInfo.isEmpty) ||
|
||||
(uri.scheme == 'about' && uri.path == 'blank');
|
||||
static bool _https(Uri uri) =>
|
||||
uri.scheme == 'https' && uri.port == 443 && uri.userInfo.isEmpty;
|
||||
static bool canInjectCredentials(Uri uri) =>
|
||||
_https(uri) &&
|
||||
uri.host == 'idas.uestc.edu.cn' &&
|
||||
uri.path == '/authserver/login';
|
||||
static bool isTimetable(Uri uri) =>
|
||||
_https(uri) &&
|
||||
uri.host == 'yjsjy.uestc.edu.cn' &&
|
||||
uri.path == '/pyxx/pygl/xskbcx/index/1';
|
||||
static bool isSchoolPage(Uri uri) =>
|
||||
_https(uri) &&
|
||||
const {'idas.uestc.edu.cn', 'yjsjy.uestc.edu.cn'}.contains(uri.host);
|
||||
}
|
||||
Reference in New Issue
Block a user