Skip to content

Commit

Permalink
Update MinecraftAuth
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexProgrammerDE committed Nov 22, 2023
1 parent 4ed18f3 commit 5654041
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 18 deletions.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ classtransform-mixinsdummy = "net.lenni0451.classtransform:mixinsdummy:1.12.1"
classtransform-additionalclassprovider = "net.lenni0451.classtransform:additionalclassprovider:1.12.1"
reflect = "net.lenni0451:Reflect:1.3.0"
lambdaevents = "net.lenni0451:LambdaEvents:2.4.0-SNAPSHOT"
minecraftauth = "net.raphimc:MinecraftAuth:2.1.6"
minecraftauth = "net.raphimc:MinecraftAuth:3.0.0"
thealtening = "com.thealtening.api:api:4.1.0"
injector = "ch.jalu:injector:1.0"
grpc-proto = { module = "io.grpc:grpc-protobuf", version.ref = "grpc" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import net.pistonmaster.serverwrecker.builddata.BuildData;
import net.pistonmaster.serverwrecker.proxy.SWProxy;
import net.raphimc.mcauth.util.MicrosoftConstants;
import net.raphimc.minecraftauth.util.MicrosoftConstants;
import org.apache.http.Header;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpHost;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,29 @@
import net.pistonmaster.serverwrecker.auth.HttpHelper;
import net.pistonmaster.serverwrecker.auth.MinecraftAccount;
import net.pistonmaster.serverwrecker.proxy.SWProxy;
import net.raphimc.mcauth.MinecraftAuth;
import net.raphimc.mcauth.step.msa.StepCredentialsMsaCode;
import net.raphimc.minecraftauth.MinecraftAuth;
import net.raphimc.minecraftauth.step.msa.StepCredentialsMsaCode;

import java.io.IOException;

public class SWBedrockMicrosoftAuthService implements MCAuthService {
public MinecraftAccount login(String email, String password, SWProxy proxyData) throws IOException {
try (var httpClient = HttpHelper.createMCAuthHttpClient(proxyData)) {
var mcChain = MinecraftAuth.BEDROCK_CREDENTIALS_LOGIN.getFromInput(httpClient,
var fullBedrockSession = MinecraftAuth.BEDROCK_CREDENTIALS_LOGIN.getFromInput(httpClient,
new StepCredentialsMsaCode.MsaCredentials(email, password));

var xblXsts = mcChain.prevResult();
var deviceId = xblXsts.initialXblSession().prevResult2().id();
return new MinecraftAccount(AuthType.MICROSOFT_BEDROCK, mcChain.displayName(),
var mcChain = fullBedrockSession.getMcChain();
var xblXsts = mcChain.getXblXsts();
var deviceId = xblXsts.getInitialXblSession().getXblDeviceToken().getId();
var playFabId = fullBedrockSession.getPlayFabToken().getPlayFabId();
return new MinecraftAccount(AuthType.MICROSOFT_BEDROCK, mcChain.getDisplayName(),
new BedrockData(
mcChain.mojangJwt(),
mcChain.identityJwt(),
mcChain.publicKey(),
mcChain.privateKey(),
mcChain.getMojangJwt(),
mcChain.getIdentityJwt(),
mcChain.getPublicKey(),
mcChain.getPrivateKey(),
deviceId,
"" // PlayFab token is pretty much never verified
playFabId
),
true);
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,19 @@
import net.pistonmaster.serverwrecker.auth.HttpHelper;
import net.pistonmaster.serverwrecker.auth.MinecraftAccount;
import net.pistonmaster.serverwrecker.proxy.SWProxy;
import net.raphimc.mcauth.MinecraftAuth;
import net.raphimc.mcauth.step.msa.StepCredentialsMsaCode;
import net.raphimc.minecraftauth.MinecraftAuth;
import net.raphimc.minecraftauth.step.msa.StepCredentialsMsaCode;

import java.io.IOException;

public class SWJavaMicrosoftAuthService implements MCAuthService {
public MinecraftAccount login(String email, String password, SWProxy proxyData) throws IOException {
try (var httpClient = HttpHelper.createMCAuthHttpClient(proxyData)) {
var mcProfile = MinecraftAuth.JAVA_CREDENTIALS_LOGIN.getFromInput(httpClient,
var fullJavaSession = MinecraftAuth.JAVA_CREDENTIALS_LOGIN.getFromInput(httpClient,
new StepCredentialsMsaCode.MsaCredentials(email, password));
var mcToken = mcProfile.prevResult().prevResult();
return new MinecraftAccount(AuthType.MICROSOFT_JAVA, mcProfile.name(), new JavaData(mcProfile.id(), mcToken.access_token(), mcToken.expireTimeMs()), true);
var mcProfile = fullJavaSession.getMcProfile();
var mcToken = mcProfile.getMcToken();
return new MinecraftAccount(AuthType.MICROSOFT_JAVA, mcProfile.getName(), new JavaData(mcProfile.getId(), mcToken.getAccessToken(), mcToken.getExpireTimeMs()), true);
} catch (Exception e) {
throw new IOException(e);
}
Expand Down

0 comments on commit 5654041

Please sign in to comment.