Merge branch 'dev' of github.com:GravitLauncher/Launcher into dev

This commit is contained in:
Gravit 2019-02-17 18:28:02 +07:00
commit 64b1e9cff0
No known key found for this signature in database
GPG key ID: 061981E1E85D3216
5 changed files with 1 additions and 87 deletions

View file

@ -29,9 +29,6 @@ public static void registerProviders() {
registerProvider("null", NullAuthProvider.class);
registerProvider("accept", AcceptAuthProvider.class);
registerProvider("reject", RejectAuthProvider.class);
// Auth providers that doesn't do nothing :D
registerProvider("mojang", MojangAuthProvider.class);
registerProvider("mysql", MySQLAuthProvider.class);
registerProvider("request", RequestAuthProvider.class);
registerProvider("json", JsonAuthProvider.class);

View file

@ -1,69 +0,0 @@
package ru.gravit.launchserver.auth.provider;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import ru.gravit.utils.HTTPRequest;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.UUID;
import java.util.regex.Pattern;
public final class MojangAuthProvider extends AuthProvider {
private static final Pattern UUID_REGEX = Pattern.compile("(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})");
private static final URL URL;
private static final Gson gson = new Gson();
static {
try {
URL = new URL("https://authserver.com.mojang.com/authenticate");
} catch (MalformedURLException e) {
throw new InternalError(e);
}
}
public class mojangAuth {
public mojangAuth(String username, String password) {
this.username = username;
this.password = password;
name = "Minecraft";
version = 1;
}
String name;
int version;
String username;
String password;
}
@Override
public AuthProviderResult auth(String login, String password, String ip) throws Exception {
mojangAuth mojangAuth = new mojangAuth(login, password);
JsonElement request = gson.toJsonTree(mojangAuth);
// Verify there's no error
JsonObject response = HTTPRequest.jsonRequest(request, URL).getAsJsonObject();
if (response == null)
authError("Empty com.mojang response");
JsonElement errorMessage = response.get("errorMessage");
if (errorMessage != null)
authError(errorMessage.getAsString());
// Parse JSON data
JsonObject selectedProfile = response.get("selectedProfile").getAsJsonObject();
String username = selectedProfile.get("name").getAsString();
String accessToken = response.get("clientToken").getAsString();
UUID uuid = UUID.fromString(UUID_REGEX.matcher(selectedProfile.get("id").getAsString()).replaceFirst("$1-$2-$3-$4-$5"));
String launcherToken = response.get("accessToken").getAsString();
// We're done
return new MojangAuthProviderResult(username, accessToken, uuid, launcherToken);
}
@Override
public void close() {
// Do nothing
}
}

View file

@ -1,14 +0,0 @@
package ru.gravit.launchserver.auth.provider;
import java.util.UUID;
public final class MojangAuthProviderResult extends AuthProviderResult {
public final UUID uuid;
public final String launcherToken;
public MojangAuthProviderResult(String username, String accessToken, UUID uuid, String launcherToken) {
super(username, accessToken);
this.uuid = uuid;
this.launcherToken = launcherToken;
}
}

@ -1 +1 @@
Subproject commit 14d93a04d551ae36f68bd74d61445d8c7d7bd076
Subproject commit 90a3b3eac726659a64410ea3134f8bc22893de32