Skip to content

Commit b521281

Browse files
authored
Updated to MinecraftAuth 5 (#915)
1 parent 9de0209 commit b521281

File tree

4 files changed

+32
-33
lines changed

4 files changed

+32
-33
lines changed

example/src/main/java/org/geysermc/mcprotocollib/auth/example/MinecraftAuthTest.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package org.geysermc.mcprotocollib.auth.example;
22

33
import net.raphimc.minecraftauth.MinecraftAuth;
4-
import net.raphimc.minecraftauth.step.java.StepMCProfile;
5-
import net.raphimc.minecraftauth.step.java.StepMCToken;
6-
import net.raphimc.minecraftauth.step.java.session.StepFullJavaSession;
7-
import net.raphimc.minecraftauth.step.msa.StepCredentialsMsaCode;
4+
import net.raphimc.minecraftauth.java.JavaAuthManager;
5+
import net.raphimc.minecraftauth.java.model.MinecraftProfile;
6+
import net.raphimc.minecraftauth.java.model.MinecraftToken;
7+
import net.raphimc.minecraftauth.msa.model.MsaCredentials;
8+
import net.raphimc.minecraftauth.msa.service.impl.CredentialsMsaAuthService;
89
import org.geysermc.mcprotocollib.auth.GameProfile;
910
import org.geysermc.mcprotocollib.auth.SessionService;
1011
import org.geysermc.mcprotocollib.network.ProxyInfo;
@@ -27,24 +28,24 @@ private static void auth() {
2728
SessionService service = new SessionService();
2829
service.setProxy(PROXY);
2930

30-
StepFullJavaSession.FullJavaSession fullJavaSession;
31+
JavaAuthManager authManager;
3132
try {
32-
fullJavaSession = MinecraftAuth.JAVA_CREDENTIALS_LOGIN.getFromInput(
33-
MinecraftAuth.createHttpClient(),
34-
new StepCredentialsMsaCode.MsaCredentials(EMAIL, PASSWORD));
33+
authManager = JavaAuthManager.create(MinecraftAuth.createHttpClient()).login(CredentialsMsaAuthService::new, new MsaCredentials(EMAIL, PASSWORD));
34+
authManager.getMinecraftToken().refresh(); // Preload the Minecraft token
35+
authManager.getMinecraftProfile().refresh(); // Preload the Minecraft profile
3536
} catch (Exception e) {
3637
throw new RuntimeException(e);
3738
}
3839

39-
StepMCProfile.MCProfile mcProfile = fullJavaSession.getMcProfile();
40-
StepMCToken.MCToken mcToken = mcProfile.getMcToken();
40+
MinecraftProfile mcProfile = authManager.getMinecraftProfile().getCached();
41+
MinecraftToken mcToken = authManager.getMinecraftToken().getCached();
4142
GameProfile profile = new GameProfile(mcProfile.getId(), mcProfile.getName());
4243
try {
4344
service.fillProfileProperties(profile);
4445

4546
log.info("Selected Profile: {}", profile);
4647
log.info("Selected Profile Textures: {}", profile.getTextures(REQUIRE_SECURE_TEXTURES));
47-
log.info("Access Token: {}", mcToken.getAccessToken());
48+
log.info("Access Token: {}", mcToken.getToken());
4849
log.info("Expire Time: {}", mcToken.getExpireTimeMs());
4950
} catch (Exception e) {
5051
log.error("Failed to get properties and textures of selected profile {}.", profile, e);

example/src/main/java/org/geysermc/mcprotocollib/protocol/example/MinecraftProtocolTest.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
import net.kyori.adventure.text.format.NamedTextColor;
66
import net.kyori.adventure.text.format.TextDecoration;
77
import net.raphimc.minecraftauth.MinecraftAuth;
8-
import net.raphimc.minecraftauth.step.java.StepMCProfile;
9-
import net.raphimc.minecraftauth.step.java.StepMCToken;
10-
import net.raphimc.minecraftauth.step.java.session.StepFullJavaSession;
11-
import net.raphimc.minecraftauth.step.msa.StepCredentialsMsaCode;
8+
import net.raphimc.minecraftauth.java.JavaAuthManager;
9+
import net.raphimc.minecraftauth.java.model.MinecraftProfile;
10+
import net.raphimc.minecraftauth.java.model.MinecraftToken;
11+
import net.raphimc.minecraftauth.msa.model.MsaCredentials;
12+
import net.raphimc.minecraftauth.msa.service.impl.CredentialsMsaAuthService;
1213
import org.geysermc.mcprotocollib.auth.GameProfile;
1314
import org.geysermc.mcprotocollib.auth.SessionService;
1415
import org.geysermc.mcprotocollib.network.ClientSession;
@@ -187,21 +188,19 @@ private static void status() {
187188
private static void login() {
188189
MinecraftProtocol protocol;
189190
if (SHOULD_AUTHENTICATE) {
190-
StepFullJavaSession.FullJavaSession fullJavaSession;
191191
try {
192-
fullJavaSession = MinecraftAuth.JAVA_CREDENTIALS_LOGIN.getFromInput(
193-
MinecraftAuth.createHttpClient(),
194-
new StepCredentialsMsaCode.MsaCredentials(USERNAME, PASSWORD));
192+
JavaAuthManager authManager = JavaAuthManager.create(MinecraftAuth.createHttpClient()).login(CredentialsMsaAuthService::new, new MsaCredentials(USERNAME, PASSWORD));
193+
194+
MinecraftProfile mcProfile = authManager.getMinecraftProfile().getUpToDate();
195+
MinecraftToken mcToken = authManager.getMinecraftToken().getUpToDate();
196+
protocol = new MinecraftProtocol(
197+
new GameProfile(mcProfile.getId(), mcProfile.getName()),
198+
mcToken.getToken());
199+
200+
log.info("Successfully authenticated user.");
195201
} catch (Exception e) {
196202
throw new RuntimeException(e);
197203
}
198-
199-
StepMCProfile.MCProfile mcProfile = fullJavaSession.getMcProfile();
200-
StepMCToken.MCToken mcToken = mcProfile.getMcToken();
201-
protocol = new MinecraftProtocol(
202-
new GameProfile(mcProfile.getId(), mcProfile.getName()),
203-
mcToken.getAccessToken());
204-
log.info("Successfully authenticated user.");
205204
} else {
206205
protocol = new MinecraftProtocol(USERNAME);
207206
}

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ math = "2.0"
99
fastutil-maps = "8.5.3"
1010
netty = "4.2.1.Final"
1111
gson = "2.11.0"
12-
minecraftauth = "4.1.1"
12+
minecraftauth = "5.0.0"
1313
checkerframework = "3.42.0"
1414
junit = "5.8.2"
1515

protocol/src/main/java/org/geysermc/mcprotocollib/auth/util/HTTPUtils.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import net.lenni0451.commons.httpclient.HttpClient;
66
import net.lenni0451.commons.httpclient.HttpResponse;
77
import net.lenni0451.commons.httpclient.constants.ContentTypes;
8-
import net.lenni0451.commons.httpclient.constants.Headers;
8+
import net.lenni0451.commons.httpclient.constants.HttpHeaders;
99
import net.lenni0451.commons.httpclient.content.HttpContent;
1010
import net.lenni0451.commons.httpclient.proxy.ProxyHandler;
1111
import net.lenni0451.commons.httpclient.proxy.ProxyType;
@@ -14,7 +14,6 @@
1414
import org.checkerframework.checker.nullness.qual.Nullable;
1515
import org.geysermc.mcprotocollib.network.ProxyInfo;
1616

17-
import java.io.ByteArrayInputStream;
1817
import java.io.IOException;
1918
import java.io.InputStreamReader;
2019
import java.net.URI;
@@ -40,13 +39,13 @@ public static <T> T makeRequest(@Nullable ProxyInfo proxy, URI uri, Object input
4039
.execute(input == null ? new HttpRequest("GET", uri.toURL()) :
4140
new HttpContentRequest("POST", uri.toURL())
4241
.setContent(HttpContent.string(GSON.toJson(input)))
43-
.setHeader(Headers.CONTENT_TYPE, ContentTypes.APPLICATION_JSON.toString()));
42+
.setHeader(HttpHeaders.CONTENT_TYPE, ContentTypes.APPLICATION_JSON.toString()));
4443

4544
if (responseType == null) {
4645
return null;
4746
}
4847

49-
return GSON.fromJson(new InputStreamReader(new ByteArrayInputStream(response.getContent())), responseType);
48+
return GSON.fromJson(new InputStreamReader(response.getContent().getAsStream()), responseType);
5049
}
5150

5251
public static HttpClient createHttpClient(@Nullable ProxyInfo proxy) {
@@ -57,8 +56,8 @@ public static HttpClient createHttpClient(@Nullable ProxyInfo proxy) {
5756
.setReadTimeout(timeout * 2)
5857
.setCookieManager(null)
5958
.setFollowRedirects(false)
60-
.setHeader(Headers.ACCEPT, ContentTypes.APPLICATION_JSON.toString())
61-
.setHeader(Headers.ACCEPT_LANGUAGE, "en-US,en");
59+
.setHeader(HttpHeaders.ACCEPT, ContentTypes.APPLICATION_JSON.toString())
60+
.setHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en");
6261

6362
if (proxy != null) {
6463
client.setProxyHandler(new ProxyHandler(switch (proxy.type()) {

0 commit comments

Comments
 (0)