diff --git a/LaunchServer/build.gradle b/LaunchServer/build.gradle index d090969f..40de0096 100644 --- a/LaunchServer/build.gradle +++ b/LaunchServer/build.gradle @@ -44,6 +44,7 @@ pack project(':libLauncher') pack project(':LauncherAPI') bundle project(':Radon') + bundle 'com.vk.api:sdk:1.0.2' bundle 'mysql:mysql-connector-java:8.0.16' bundle 'org.jline:jline:3.11.0' bundle 'org.jline:jline-reader:3.11.0' diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/WebSocketService.java b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/WebSocketService.java index e8319f6d..7795aae9 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/WebSocketService.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/WebSocketService.java @@ -161,6 +161,7 @@ public void registerClient(Channel channel) { public void registerResponses() { registerResponse("auth", AuthResponse.class); + registerResponse("oauth", OAuthResponse.class); registerResponse("checkServer", CheckServerResponse.class); registerResponse("joinServer", JoinServerResponse.class); registerResponse("profiles", ProfilesResponse.class); diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/json/auth/OAuthResponse.java b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/json/auth/OAuthResponse.java new file mode 100644 index 00000000..cb313f2f --- /dev/null +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/websocket/json/auth/OAuthResponse.java @@ -0,0 +1,39 @@ +package ru.gravit.launchserver.websocket.json.auth; + +import io.netty.channel.ChannelHandlerContext; +import ru.gravit.launcher.OshiHWID; +import ru.gravit.launcher.events.request.OAuthRequestEvent; +import ru.gravit.launchserver.LaunchServer; +import ru.gravit.launchserver.socket.Client; +import ru.gravit.launchserver.websocket.json.SimpleResponse; +import ru.gravit.utils.HookException; + +import java.net.MalformedURLException; +import java.net.URL; + +public class OAuthResponse extends SimpleResponse { + + public OshiHWID hwid; + + @Override + public void execute(ChannelHandlerContext ctx, Client clientData) throws Exception { + try { + OAuthRequestEvent result = new OAuthRequestEvent(); + result.URL = getAcsessURL(); + sendResult(result); + } catch (HookException e) { + sendError(e.getMessage()); + } + } + public URL getAcsessURL() throws MalformedURLException { + + String url = "https://oauth.vk.com/authorize?client_id=" + LaunchServer.server.config.OAuthAppID + "&display=page&response_type=code&v=5.69&redirect_uri=" + LaunchServer.server.config.getOAuthBackURL(); + return new URL(url); + } + + @Override + public String getType() { + return "oauth"; + } + +}