OSDN Git Service

fix login error message more vorbose
authorhylom <hylom@users.sourceforge.jp>
Wed, 24 May 2017 13:48:27 +0000 (22:48 +0900)
committerhylom <hylom@users.sourceforge.jp>
Wed, 24 May 2017 13:48:27 +0000 (22:48 +0900)
src/newslash_web/lib/Newslash/Web/Controller/API/Login.pm
src/newslash_web/lib/Newslash/Web/Controller/Login.pm
src/newslash_web/public/js/login.js
src/newslash_web/templates/common/login_dialog.html.tt2

index 7eede2b..84cc962 100644 (file)
@@ -25,7 +25,10 @@ sub login {
         }
     }
 
-    $c->render(json => { error => 1, nickname => $nickname, message => "invalid nickname or password" });
+    $c->render(json => { error => 1,
+                         nickname => $nickname,
+                         reason => "auth_failed",
+                         message => "invalid nickname or password" });
     $c->rendered(401);
     return;
 }
index d4f1582..b6d8fa7 100644 (file)
@@ -38,7 +38,9 @@ sub login {
 sub logout {
   my $c = shift;
   my $session = $c->session('session');
+  my $user = $c->stash('user');
   $c->user_auth->clear_session($user, $session->{token});
+
   my $rpath = $c->param('rpath') || '/';
 
   #TODO: $c->model('users')->expire_token($session->{token});
index 9462abc..3009390 100644 (file)
@@ -37,7 +37,12 @@ login.run = function run(params) {
           this.message = "server_error";
         },
         function fail(resp) {
-          this.message = "auth_error";
+          if (resp.body.reason && resp.body.reason == "auth_failed") {
+            this.message = "auth_error";
+          }
+          else {
+            this.message = "server_error";
+          }
         });
     },
   };
index e5d18a9..bf8ff91 100644 (file)
@@ -27,6 +27,7 @@
           </div>
           <div>
             <span v-if="message == 'auth_error'">認証エラー:アカウント名とパスワードの組み合わせが不正です</span>
+            <span v-else-if="message == 'server_error'">サーバーエラーが発生しました</span>
             <span v-else></span>
           </div>
         </form>