chiark / gitweb /
Display appropriate error messages on login failure.
authorMarnanel Thurman <marnanel@thurman.org.uk>
Sat, 4 Dec 2021 21:49:57 +0000 (21:49 +0000)
committerMarnanel Thurman <marnanel@thurman.org.uk>
Sat, 4 Dec 2021 21:49:57 +0000 (21:49 +0000)
src/grok.js
src/index.js

index 3ba5d67adb2a5d2c343e45784afd7b509e7b5c15..c2c04c75f3cd3056c04baf90ac7f35554476f07f 100644 (file)
@@ -86,7 +86,30 @@ export function grok_login2(callback, auth, username, password) {
                         console.log(response.headers);
                         console.log('----');
                         console.log(response.data);
-                        result['success'] = true;
+
+                        var html = $('<html>').append(
+                                $.parseHTML(response.data));
+
+                        var h1 = html.find('h1').html()
+
+                        if (h1.includes('Welcome back')) {
+                                result['success'] = true;
+                        } else {
+                                result['success'] = false;
+
+                                var blockquote = html.find('blockquote').html();
+
+                                if (blockquote.includes('wrong password')) {
+                                        result['message'] = 'Wrong password.';
+                                } else if (blockquote.includes('This account name')) {
+                                        result['message'] = 'Unknown username.';
+                                } else {
+                                        result['message'] = 'Unknown error from site.';
+                                }
+
+                                console.log('Error from site:');
+                                console.log(blockquote);
+                        }
 
                         callback(result);
                 },
index 9bd3cfc35ab2142c09945223b957892673b22114..6c48ea867b888d9e38630db43b0c4f17bf3a2c20 100644 (file)
@@ -30,7 +30,6 @@ function onDeviceReady() {
 
 function handle_login1(login1) {
         ui_login_show_message("Logging in...");
-        console.log("login: part 2");
         grok_login2(
                 handle_login2,
                 login1['auth'],
@@ -40,6 +39,10 @@ function handle_login1(login1) {
 }
 
 function handle_login2(login2) {
-        ui_login_show_message("Success!");
-        console.log(login2);
+
+        if (login2['success']) {
+                ui_login_show_message("Success!");
+        } else {
+                ui_login_show_message(login2['message']);
+        }
 }