mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-23 09:01:08 +03:00
Merge branch 'dev' of github.com:GravitLauncher/Launcher into dev
This commit is contained in:
commit
64b1e9cff0
5 changed files with 1 additions and 87 deletions
|
@ -29,9 +29,6 @@ public static void registerProviders() {
|
||||||
registerProvider("null", NullAuthProvider.class);
|
registerProvider("null", NullAuthProvider.class);
|
||||||
registerProvider("accept", AcceptAuthProvider.class);
|
registerProvider("accept", AcceptAuthProvider.class);
|
||||||
registerProvider("reject", RejectAuthProvider.class);
|
registerProvider("reject", RejectAuthProvider.class);
|
||||||
|
|
||||||
// Auth providers that doesn't do nothing :D
|
|
||||||
registerProvider("mojang", MojangAuthProvider.class);
|
|
||||||
registerProvider("mysql", MySQLAuthProvider.class);
|
registerProvider("mysql", MySQLAuthProvider.class);
|
||||||
registerProvider("request", RequestAuthProvider.class);
|
registerProvider("request", RequestAuthProvider.class);
|
||||||
registerProvider("json", JsonAuthProvider.class);
|
registerProvider("json", JsonAuthProvider.class);
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
2
modules
2
modules
|
@ -1 +1 @@
|
||||||
Subproject commit 14d93a04d551ae36f68bd74d61445d8c7d7bd076
|
Subproject commit 90a3b3eac726659a64410ea3134f8bc22893de32
|
Loading…
Reference in a new issue