diff --git a/pom.xml b/pom.xml
index f84cb96..590e215 100644
--- a/pom.xml
+++ b/pom.xml
@@ -162,5 +162,10 @@
Essentials
2.13.1
+
+ com.github.xaanit
+ D4J-OAuth
+ master-SNAPSHOT
+
diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
index f513ae3..4dd777f 100644
--- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
+++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
@@ -13,6 +13,9 @@ import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitTask;
+import com.github.xaanit.d4j.oauth.Scope;
+import com.github.xaanit.d4j.oauth.handle.IDiscordOAuth;
+import com.github.xaanit.d4j.oauth.util.DiscordOAuthBuilder;
import com.google.common.io.Files;
import com.google.gson.*;
@@ -20,6 +23,7 @@ import buttondevteam.discordplugin.listeners.*;
import buttondevteam.discordplugin.mccommands.DiscordMCCommandBase;
import buttondevteam.lib.TBMCCoreAPI;
import buttondevteam.lib.chat.TBMCChatAPI;
+import io.vertx.core.http.HttpServerOptions;
import net.milkbowl.vault.permission.Permission;
import sx.blah.discord.api.*;
import sx.blah.discord.api.events.IListener;
@@ -147,7 +151,23 @@ public class DiscordPlugin extends JavaPlugin implements IListener {
sendMessageToChannel(dc.getChannels().get(rand.nextInt(dc.getChannels().size())),
"You could make a religion out of this");
}
-
+ IDiscordOAuth doa = new DiscordOAuthBuilder(dc).withClientID("226443037893591041")
+ .withClientSecret(getConfig().getString("appsecret"))
+ .withRedirectUrl("https://" + (TBMCCoreAPI.IsTestServer() ? "localhost" : "server.figytuna.com")
+ + ":8081/callback")
+ .withScopes(Scope.IDENTIFY).withHttpServerOptions(new HttpServerOptions().setPort(8081))
+ .withSuccessHandler((rc, user) -> {
+ rc.response().headers().add("Location",
+ "https://" + (TBMCCoreAPI.IsTestServer() ? "localhost" : "server.figytuna.com")
+ + ":8080/login?type=discord");
+ rc.response().close();
+ }).withFailureHandler(rc -> {
+ rc.response().headers().add("Location",
+ "https://" + (TBMCCoreAPI.IsTestServer() ? "localhost" : "server.figytuna.com")
+ + ":8080/login?type=discord"); // TODO
+ rc.response().close();
+ }).build();
+ getLogger().info("Auth URL: " + doa.buildAuthUrl());
} catch (Exception e) {
TBMCCoreAPI.SendException("An error occured while enabling DiscordPlugin!", e);
}