From 1d0e510109bd2aa520f6d0e60ecadf5dd1ecd2c1 Mon Sep 17 00:00:00 2001 From: sasha0552 Date: Fri, 12 Apr 2019 04:07:25 +0600 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=20=D0=B1=D0=B5=D1=80=D0=B5=D1=82=D1=81=D1=8F/?= =?UTF-8?q?=D1=81=D0=B5=D1=82=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BE=D0=B4?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=BE?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/handler/RequestAuthHandler.java | 79 ++++++++++--------- compat/auth/AuthHandler.php | 59 +++----------- 2 files changed, 51 insertions(+), 87 deletions(-) diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/RequestAuthHandler.java b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/RequestAuthHandler.java index a355ee76..2e7326d8 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/RequestAuthHandler.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/RequestAuthHandler.java @@ -11,19 +11,18 @@ public final class RequestAuthHandler extends CachedAuthHandler { private String url; private String secretKey; - private String typeColumn; - private String uuidColumn; - private String usernameColumn; - private String accessTokenColumn; - private String serverIDColumn; - private String secretKeyColumn; + private String typeLine; + private String uuidLine; + private String usernameLine; + private String accessTokenLine; + private String serverIDLine; + private String secretKeyLine; - private String TypeGetUsername; - private String TypeGetUUID; - private String TypeGetAccessToken; - private String TypeGetServerID; + private String TypeFetchByUUID; + private String TypeFetchByUsername; private String TypeSetAccessTokenAndUUID; private String TypeSetServerID; + private String splitSymbol; @Override public void init() { @@ -31,37 +30,38 @@ public void init() { LogHelper.error("[Verify][AuthHandler] url cannot be null"); if (secretKey == null) LogHelper.error("[Verify][AuthHandler] secretKey cannot be null"); - if (typeColumn == null) - typeColumn = "type"; - if (uuidColumn == null) - uuidColumn = "uuid"; - if (usernameColumn == null) - usernameColumn = "username"; - if (accessTokenColumn == null) - accessTokenColumn = "accessToken"; - if (serverIDColumn == null) - serverIDColumn = "serverID"; - if (secretKeyColumn == null) - secretKeyColumn = "secretKey"; - if (TypeGetUsername == null) - TypeGetUsername = "GetUsername"; - if (TypeGetUUID == null) - TypeGetUUID = "GetUUID"; - if (TypeGetAccessToken == null) - TypeGetAccessToken = "GetAccessToken"; - if (TypeGetServerID == null) - TypeGetServerID = "GetServerID"; + // Default + if (typeLine == null) + typeLine = "type"; + if (uuidLine == null) + uuidLine = "uuid"; + if (usernameLine == null) + usernameLine = "username"; + if (accessTokenLine == null) + accessTokenLine = "accessToken"; + if (serverIDLine == null) + serverIDLine = "serverID"; + if (secretKeyLine == null) + secretKeyLine = "secretKey"; + if (TypeFetchByUUID == null) + TypeFetchByUUID = "FetchByUUID"; + if (TypeFetchByUsername == null) + TypeFetchByUsername = "FetchByUsername"; if (TypeSetAccessTokenAndUUID == null) TypeSetAccessTokenAndUUID = "SetAccessTokenAndUUID"; if (TypeSetServerID == null) TypeSetServerID = "SetServerID"; + if (splitSymbol == null) + splitSymbol = ":"; } @Override protected Entry fetchEntry(UUID uuid) throws IOException { - String username = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetUsername + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidColumn) + "=" + IOHelper.urlEncode(uuid.toString()))); - String accessToken = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetAccessToken + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidColumn) + "=" + IOHelper.urlEncode(uuid.toString()))); - String serverID = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetServerID + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidColumn) + "=" + IOHelper.urlEncode(uuid.toString()))); + String response = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeLine) + "=" + TypeFetchByUUID + "&" + secretKeyLine + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidLine) + "=" + IOHelper.urlEncode(uuid.toString()))); + String[] parts = response.split(splitSymbol); + String username = parts[0]; + String accessToken = parts[1]; + String serverID = parts[2]; LogHelper.debug("[AuthHandler] Getted username: " + username); LogHelper.debug("[AuthHandler] Getted accessToken: " + accessToken); LogHelper.debug("[AuthHandler] Getted serverID: " + serverID); @@ -71,10 +71,11 @@ protected Entry fetchEntry(UUID uuid) throws IOException { @Override protected Entry fetchEntry(String username) throws IOException { - String GettedUUID = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetUUID + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(usernameColumn) + "=" + IOHelper.urlEncode(username))); - UUID uuid = UUID.fromString(GettedUUID); - String accessToken = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetAccessToken + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(usernameColumn) + "=" + IOHelper.urlEncode(username))); - String serverID = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeGetServerID + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(usernameColumn) + "=" + IOHelper.urlEncode(username))); + String response = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeLine) + "=" + TypeFetchByUsername + "&" + secretKeyLine + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(usernameLine) + "=" + IOHelper.urlEncode(username))); + String[] parts = response.split(splitSymbol); + UUID uuid = UUID.fromString(parts[0]); + String accessToken = parts[1]; + String serverID = parts[2]; LogHelper.debug("[AuthHandler] Getted username: " + username); LogHelper.debug("[AuthHandler] Getted accessToken: " + accessToken); LogHelper.debug("[AuthHandler] Getted serverID: " + serverID); @@ -88,7 +89,7 @@ private Entry query(UUID uuid, String username, String accessToken, String serve @Override protected boolean updateAuth(UUID uuid, String username, String accessToken) throws IOException { - String response = IOHelper.request(new URL(url+ "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeSetAccessTokenAndUUID + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidColumn) + "=" + IOHelper.urlEncode(uuid.toString()) + "&" + IOHelper.urlEncode(accessTokenColumn) + "=" + IOHelper.urlEncode(accessToken) + "&" + IOHelper.urlEncode(usernameColumn) + "=" + IOHelper.urlEncode(username))); + String response = IOHelper.request(new URL(url+ "?" + IOHelper.urlEncode(typeLine) + "=" + TypeSetAccessTokenAndUUID + "&" + secretKeyLine + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidLine) + "=" + IOHelper.urlEncode(uuid.toString()) + "&" + IOHelper.urlEncode(accessTokenLine) + "=" + IOHelper.urlEncode(accessToken) + "&" + IOHelper.urlEncode(usernameLine) + "=" + IOHelper.urlEncode(username))); LogHelper.debug("[AuthHandler] Set accessToken: " + accessToken); LogHelper.debug("[AuthHandler] Set UUID: " + uuid); LogHelper.debug("[AuthHandler] For this username: " + username); @@ -97,7 +98,7 @@ protected boolean updateAuth(UUID uuid, String username, String accessToken) thr @Override protected boolean updateServerID(UUID uuid, String serverID) throws IOException { - String response = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeColumn) + "=" + TypeSetServerID + "&" + secretKeyColumn + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidColumn) + "=" + IOHelper.urlEncode(uuid.toString()) + "&" + IOHelper.urlEncode(serverIDColumn) + "=" + IOHelper.urlEncode(serverID))); + String response = IOHelper.request(new URL(url + "?" + IOHelper.urlEncode(typeLine) + "=" + TypeSetServerID + "&" + secretKeyLine + "=" + IOHelper.urlEncode(secretKey) + "&" + IOHelper.urlEncode(uuidLine) + "=" + IOHelper.urlEncode(uuid.toString()) + "&" + IOHelper.urlEncode(serverIDLine) + "=" + IOHelper.urlEncode(serverID))); LogHelper.debug("[AuthHandler] Set serverID: " + serverID); LogHelper.debug("[AuthHandler] For this UUID: " + uuid); return response.equals("OK"); diff --git a/compat/auth/AuthHandler.php b/compat/auth/AuthHandler.php index 0ad7924e..da1b17ce 100644 --- a/compat/auth/AuthHandler.php +++ b/compat/auth/AuthHandler.php @@ -43,62 +43,25 @@ if(!$link) { } if(isset($AuthHandler['type'])) { - if($AuthHandler['type'] == "GetUsername") { + if($AuthHandler['type'] == "FetchByUUID") { if(isset($AuthHandler['uuid'])) { - $result = mysqli_query($link, 'SELECT '.$settings['usernameColumn'].' FROM '.$settings['table'].' WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" LIMIT 1') or die($link->error); + $result = mysqli_query($link, 'SELECT '.$settings['usernameColumn'].','.$settings['accessTokenColumn'].','.$settings['serverID'].' FROM '.$settings['table'].' WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" LIMIT 1') or die($link->error); $row = $result->fetch_assoc(); mysqli_free_result($result); mysqli_close($link); - die($row[$settings['usernameColumn']]); - } else { - die('UUID not set!'); - } + die($row[$settings['usernameColumn']] + ':' + $row[$settings['accessTokenColumn']] + ':' + $row[$settings['serverID']]); } - if($AuthHandler['type'] == "GetAccessToken") { + if($AuthHandler['type'] == "FetchByUsername") { if(isset($AuthHandler['uuid'])) { - $result = mysqli_query($link, 'SELECT '.$settings['accessTokenColumn'].' FROM '.$settings['table'].' WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" LIMIT 1') or die($link->error); + $result = mysqli_query($link, 'SELECT '.$settings['uuidColumn'].','.$settings['accessTokenColumn'].','.$settings['serverID'].' FROM '.$settings['table'].' WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'" LIMIT 1') or die($link->error); $row = $result->fetch_assoc(); mysqli_free_result($result); mysqli_close($link); - die($row[$settings['accessTokenColumn']]); - } - if(isset($AuthHandler['username'])) { - $result = mysqli_query($link, 'SELECT '.$settings['accessTokenColumn'].' FROM '.$settings['table'].' WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['accessTokenColumn']]); - } - die('No avaiable var to get accessToken!'); - } - if($AuthHandler['type'] == "GetServerID") { - if(isset($AuthHandler['uuid'])) { - $result = mysqli_query($link, 'SELECT '.$settings['ServerIDColumn'].' FROM '.$settings['table'].' WHERE '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['ServerIDColumn']]); - } - if(isset($AuthHandler['username'])) { - $result = mysqli_query($link, 'SELECT '.$settings['ServerIDColumn'].' FROM '.$settings['table'].' WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['ServerIDColumn']]); - } - die('No avaiable var to get serverID!'); - } - if($AuthHandler['type'] == "GetUUID") { - if(isset($AuthHandler['username'])) { - $result = mysqli_query($link, 'SELECT '.$settings['uuidColumn'].' FROM '.$settings['table'].' WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'" LIMIT 1') or die($link->error); - $row = $result->fetch_assoc(); - mysqli_free_result($result); - mysqli_close($link); - die($row[$settings['uuidColumn']]); - } else { - die('Username not set!'); - } + die($row[$settings['uuidColumn']] + ':' + $row[$settings['accessTokenColumn']] + ':' + $row[$settings['serverID']]); } + + // Обновление строк + if($AuthHandler['type'] == "SetAccessTokenAndUUID") { $result = mysqli_query($link, 'UPDATE '.$settings['table'].' SET '.$settings['accessTokenColumn'].'="'.$AuthHandler['accessToken'].'" WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'"') or die($link->error); $result1 = mysqli_query($link, 'UPDATE '.$settings['table'].' SET '.$settings['uuidColumn'].'="'.$AuthHandler['uuid'].'" WHERE '.$settings['usernameColumn'].'="'.$AuthHandler['username'].'"') or die($link->error); @@ -110,8 +73,8 @@ if(isset($AuthHandler['type'])) { mysqli_close($link); die('OK'); } - die('Type is not correct!'); + die('FAIL!'); } else { die('Type not set!'); } -?> \ No newline at end of file +?>