Browse Source

Disable lock function for oAuth users #973

causefx 7 years ago
parent
commit
a977a0db87
3 changed files with 8 additions and 1 deletions
  1. 1 0
      api/functions/api-functions.php
  2. 2 0
      api/functions/organizr-functions.php
  3. 5 1
      js/functions.js

+ 1 - 0
api/functions/api-functions.php

@@ -65,6 +65,7 @@ function login($array)
 								'image' => $tokenInfo['user']['thumb'],
 								'token' => $tokenInfo['user']['authToken']
 							);
+							coookie('set', 'oAuth', 'true', $GLOBALS['rememberMeDays']);
 							$authSuccess = ((!empty($GLOBALS['plexAdmin']) && strtolower($GLOBALS['plexAdmin']) == strtolower($tokenInfo['user']['username'])) || checkPlexUser($tokenInfo['user']['username'])) ? $authSuccess : false;
 						}
 					}

+ 2 - 0
api/functions/organizr-functions.php

@@ -70,6 +70,7 @@ function organizrSpecialSettings()
 		),
 		'user' => array(
 			'agent' => isset($_SERVER ['HTTP_USER_AGENT']) ? $_SERVER ['HTTP_USER_AGENT'] : null,
+			'oAuthLogin' => isset($_COOKIE['oAuth']) ? true : false
 		),
 		'login' => array(
 			'rememberMe' => $GLOBALS['rememberMe'],
@@ -340,6 +341,7 @@ function logout()
 	coookie('delete', $GLOBALS['cookieName']);
 	coookie('delete', 'mpt');
 	coookie('delete', 'Auth');
+	coookie('delete', 'oAuth');
 	clearTautulliTokens();
 	revokeToken(array('data' => array('token' => $GLOBALS['organizrUser']['token'])));
 	$GLOBALS['organizrUser'] = false;

+ 5 - 1
js/functions.js

@@ -170,7 +170,7 @@ function timerIncrement() {
         }
     }
     idleTime = idleTime + 1;
-    if(activeInfo.settings.lockout.enabled){
+    if(activeInfo.settings.lockout.enabled && activeInfo.settings.user.oAuthLogin !== true){
         if (idleTime > activeInfo.settings.lockout.timer && $('#lockScreen').length !== 1) {
             if(activeInfo.user.groupID <= activeInfo.settings.lockout.minGroup && activeInfo.user.groupID >= activeInfo.settings.lockout.maxGroup){
                 lock();
@@ -5743,6 +5743,10 @@ function authDebugCheck(){
     }
 }
 function lock(){
+    if(activeInfo.settings.user.oAuthLogin == true){
+        message('Lock Disabled','Lock function disabled if logged in via oAuth',activeInfo.settings.notifications.position,'#FFF','warning','5000');
+        return false;
+    }
     organizrAPI('POST','api/?v1/lock','').success(function(data) {
         var html = JSON.parse(data);
         console.log(html);