Теперь все берется/сетается одним запросом

This commit is contained in:
sasha0552 2019-04-12 04:07:25 +06:00
parent 7ab55ce9d8
commit 1d0e510109
2 changed files with 51 additions and 87 deletions

View file

@ -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");

View file

@ -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!');
}
?>
?>