From 49d84cc405a29aba9cdb30cf5b1a08a6c45fb362 Mon Sep 17 00:00:00 2001 From: sasha0552 Date: Sun, 7 Apr 2019 20:52:03 +0600 Subject: [PATCH] RequestAuthHandler 3/5 --- .../auth/handler/AuthHandler.java | 1 + .../auth/handler/RequestAuthHandler.java | 46 +++++++++++++++---- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/AuthHandler.java b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/AuthHandler.java index 5f30924f..6d35ed06 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/AuthHandler.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/handler/AuthHandler.java @@ -42,6 +42,7 @@ public static void registerHandlers() { registerHandler("null", NullAuthHandler.class); registerHandler("memory", MemoryAuthHandler.class); registerHandler("mysql", MySQLAuthHandler.class); + registerHandler("request", RequestAuthHandler.class); registredHandl = true; } } 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 4b8dcf6f..391ab32d 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 @@ -1,5 +1,6 @@ package ru.gravit.launchserver.auth.handler; +import ru.gravit.launchserver.auth.provider.AuthProviderResult; import ru.gravit.utils.helper.LogHelper; import java.io.BufferedReader; @@ -15,8 +16,8 @@ public final class RequestAuthHandler extends AuthHandler { // Из конфига строки - private String url; private String urlGetUUID; + private String urlGetAll; private String urlGetUsername; private String urlUpdateAccessToken; private String urlUpdateServerID; @@ -32,6 +33,11 @@ public void init() { pattern = Pattern.compile(response); } + @Override + public UUID auth(AuthProviderResult authResult) throws IOException { + //TODO + } + @Override public UUID checkServer(String username, String serverID) throws IOException { //TODO @@ -39,11 +45,6 @@ public UUID checkServer(String username, String serverID) throws IOException { @Override public boolean joinServer(String username, String accessToken, String serverID) throws IOException { - //TODO - } - - @Override - public UUID usernameToUUID(String username) throws IOException { URL url; HttpURLConnection conn; BufferedReader rd; @@ -59,10 +60,37 @@ public UUID usernameToUUID(String username) throws IOException { } rd.close(); } catch (Exception e) { - LogHelper.error("[Request AuthHandler] Error get UUID by username"); + LogHelper.error("[Request AuthHandler] Error joinserver"); } - //TODO конвертирование string в uuid - return result; + String[] uas = result.split(":"); + if (uas[0] == username && uas[1] == accessToken && uas[2] == serverID) { + return true; + } else { + return false; + } + } + + @Override + public UUID usernameToUUID(String username) throws IOException { + URL url; + HttpURLConnection conn; + BufferedReader rd; + String line; + String result = ""; + try { + url = new URL(format("%s?username=%s",urlGetUUID,username)); + conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); + while ((line = rd.readLine()) != null) { + result += line; + } + rd.close(); + } catch (Exception e) { + LogHelper.error("[Request AuthHandler] Error get UUID by username"); + } + //TODO конвертирование string в uuid + return result; } @Override