use of com.github.games647.changeskin.core.model.auth.Account in project ChangeSkin by games647.
the class UploadCommand method onCommand.
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (args.length == 0) {
plugin.sendMessage(sender, "upload-noargs");
} else {
String url = args[0];
if (url.startsWith("http://") || url.startsWith("https://")) {
List<Account> accounts = plugin.getCore().getUploadAccounts();
if (accounts.isEmpty()) {
plugin.sendMessage(sender, "no-accounts");
} else {
Account uploadAccount = accounts.get(0);
Runnable skinUploader = new SkinUploader(plugin, sender, uploadAccount, url);
Bukkit.getScheduler().runTaskAsynchronously(plugin, skinUploader);
}
} else {
plugin.sendMessage(sender, "no-valid-url");
}
}
return true;
}
use of com.github.games647.changeskin.core.model.auth.Account in project ChangeSkin by games647.
the class UploadCommand method execute.
@Override
public CommandResult execute(CommandSource src, CommandContext args) {
String url = args.<String>getOne("url").get();
if (url.startsWith("http://") || url.startsWith("https://")) {
List<Account> accounts = plugin.getCore().getUploadAccounts();
if (accounts.isEmpty()) {
plugin.sendMessage(src, "no-accounts");
} else {
Account uploadAccount = accounts.get(0);
Runnable skinUploader = new SkinUploader(plugin, src, uploadAccount, url);
Task.builder().async().execute(skinUploader).submit(plugin);
}
} else {
plugin.sendMessage(src, "no-valid-url");
}
return CommandResult.success();
}
use of com.github.games647.changeskin.core.model.auth.Account in project ChangeSkin by games647.
the class UploadCommand method execute.
@Override
public void execute(CommandSender sender, String[] args) {
if (args.length == 0) {
plugin.sendMessage(sender, "upload-noargs");
} else {
String url = args[0];
if (url.startsWith("http://") || url.startsWith("https://")) {
List<Account> accounts = plugin.getCore().getUploadAccounts();
if (accounts.isEmpty()) {
plugin.sendMessage(sender, "no-accounts");
} else {
Account uploadAccount = accounts.get(0);
Runnable skinUploader = new SkinUploader(plugin, sender, uploadAccount, url);
ProxyServer.getInstance().getScheduler().runAsync(plugin, skinUploader);
}
} else {
plugin.sendMessage(sender, "no-valid-url");
}
}
}
use of com.github.games647.changeskin.core.model.auth.Account in project ChangeSkin by games647.
the class MojangAuthApi method authenticate.
public Optional<Account> authenticate(String email, String password) {
try {
HttpURLConnection httpConnection = CommonUtil.getConnection(AUTH_URL);
httpConnection.setRequestMethod("POST");
httpConnection.setDoOutput(true);
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(httpConnection.getOutputStream(), StandardCharsets.UTF_8))) {
writer.append(gson.toJson(new AuthRequest(email, password)));
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), StandardCharsets.UTF_8))) {
AuthResponse authResponse = gson.fromJson(reader, AuthResponse.class);
return Optional.of(new Account(authResponse.getSelectedProfile(), authResponse.getAccessToken()));
}
} catch (IOException ex) {
logger.error("Failed to authenticate user: {}", email, ex);
}
return Optional.empty();
}
Aggregations