Temporary workaround to fix github authentication (#5125)

fix: https://github.com/flutter/flutter/issues/189892
diff --git a/app_dart/lib/src/request_handling/presubmit_authentication.dart b/app_dart/lib/src/request_handling/presubmit_authentication.dart
index d197bbc..464ad85 100644
--- a/app_dart/lib/src/request_handling/presubmit_authentication.dart
+++ b/app_dart/lib/src/request_handling/presubmit_authentication.dart
@@ -87,11 +87,22 @@
   }
 
   Future<String?> _getGithubLogin(String accountId) async {
-    final ghService = _config.createGithubServiceWithToken(
+    final github = _config.createGitHubClientWithToken(
       await _config.githubOAuthToken,
     );
-    final user = await ghService.getUserByAccountId(accountId);
-    return user.login;
+    try {
+      // TODO(ievdokdm): change it to githubService.getUserById(accountId) once
+      // https://github.com/SpinlockLabs/github.dart/pull/440 is merged and new
+      // version of pub.dev's github package is released
+      final user = await github.getJSON(
+        '/user/$accountId',
+        convert: User.fromJson,
+      );
+      return user.login;
+    } catch (e) {
+      log.warn('Failed to get GitHub login for account $accountId: $e');
+      return null;
+    }
   }
 
   Future<String?> _getGithubLoginCached(String accountId) async {
diff --git a/app_dart/test/request_handling/checkrun_authentication_test.dart b/app_dart/test/request_handling/checkrun_authentication_test.dart
index 51b525a..dd2b45c 100644
--- a/app_dart/test/request_handling/checkrun_authentication_test.dart
+++ b/app_dart/test/request_handling/checkrun_authentication_test.dart
@@ -60,11 +60,8 @@
         );
 
         final mockGitHub = MockGitHub();
-        final mockUsersService = MockUsersService();
-        when(mockGitHub.users).thenReturn(mockUsersService);
-
         when(
-          mockUsersService.getUser(id),
+          mockGitHub.getJSON('/user/$id', convert: anyNamed('convert')),
         ).thenAnswer((_) async => User(login: user));
 
         when(
@@ -80,6 +77,7 @@
         });
         final githubService = GithubService(mockGitHub);
 
+        config.githubClient = mockGitHub;
         config.githubService = githubService;
         request.headers.set('X-Flutter-IdToken', 'trustmebro');
         final result = await auth.authenticate(request.toRequest());
@@ -106,11 +104,8 @@
         );
 
         final mockGitHub = MockGitHub();
-        final mockUsersService = MockUsersService();
-        when(mockGitHub.users).thenReturn(mockUsersService);
-
         when(
-          mockUsersService.getUser(id),
+          mockGitHub.getJSON('/user/$id', convert: anyNamed('convert')),
         ).thenAnswer((_) async => User(login: user));
 
         when(
@@ -126,6 +121,7 @@
         });
         final githubService = GithubService(mockGitHub);
 
+        config.githubClient = mockGitHub;
         config.githubService = githubService;
         request.headers.set('X-Flutter-IdToken', 'trustmebro');
         expect(
diff --git a/app_dart/test/request_handling/dashboard_authentication_test.dart b/app_dart/test/request_handling/dashboard_authentication_test.dart
index a7b2c2e..56235cd 100644
--- a/app_dart/test/request_handling/dashboard_authentication_test.dart
+++ b/app_dart/test/request_handling/dashboard_authentication_test.dart
@@ -155,11 +155,8 @@
       validator.jwts.addAll([token, token]);
 
       final mockGitHub = MockGitHub();
-      final mockUsersService = MockUsersService();
-      when(mockGitHub.users).thenReturn(mockUsersService);
-
       when(
-        mockUsersService.getUser(id),
+        mockGitHub.getJSON('/user/$id', convert: anyNamed('convert')),
       ).thenAnswer((_) async => User(login: user));
 
       when(
@@ -175,6 +172,7 @@
       });
       final githubService = GithubService(mockGitHub);
 
+      config.githubClient = mockGitHub;
       config.githubService = githubService;
       request.headers.set('X-Flutter-IdToken', 'trustmebro');
       final result = await auth.authenticate(request.toRequest());
@@ -201,11 +199,8 @@
         validator.jwts.addAll([token, token]);
 
         final mockGitHub = MockGitHub();
-        final mockUsersService = MockUsersService();
-        when(mockGitHub.users).thenReturn(mockUsersService);
-
         when(
-          mockUsersService.getUser(id),
+          mockGitHub.getJSON('/user/$id', convert: anyNamed('convert')),
         ).thenAnswer((_) async => User(login: user));
 
         when(
@@ -221,6 +216,7 @@
         });
         final githubService = GithubService(mockGitHub);
 
+        config.githubClient = mockGitHub;
         config.githubService = githubService;
         request.headers.set('X-Flutter-IdToken', 'trustmebro');
         final result = await auth.authenticate(request.toRequest());