diff --git a/Launcher-Core/Launcher-Core.csproj b/Launcher-Core/Launcher-Core.csproj
index 839f8a6..c4ab723 100644
--- a/Launcher-Core/Launcher-Core.csproj
+++ b/Launcher-Core/Launcher-Core.csproj
@@ -8,16 +8,17 @@
true
true
- false
+ false
-
+
+
-
+
diff --git a/Launcher-Core/Launcher.cs b/Launcher-Core/Launcher.cs
index 511dcc3..16b2cdd 100644
--- a/Launcher-Core/Launcher.cs
+++ b/Launcher-Core/Launcher.cs
@@ -4,7 +4,9 @@ using System.Runtime.InteropServices;
using System.Security.AccessControl;
using CmlLib.Core;
using CmlLib.Core.Auth;
+using CmlLib.Core.Auth.Microsoft;
using CmlLib.Core.ProcessBuilder;
+using XboxAuthNet.Game.Msal;
namespace Plombir;
diff --git a/Launcher-Core/Program.cs b/Launcher-Core/Program.cs
index 7a3ff86..c48c13e 100644
--- a/Launcher-Core/Program.cs
+++ b/Launcher-Core/Program.cs
@@ -2,8 +2,12 @@ namespace Plombir;
sealed class Program
{
- public static void Main()
+ public static async Task Main()
{
Console.WriteLine("init: launcher");
+ // var ln = new Launcher("test", "1.20.1");
+ // var s = await Utils.GetLicensedSession();
+
+ // Console.WriteLine(s.CheckIsValid());
}
}
diff --git a/Launcher-Core/Utils.cs b/Launcher-Core/Utils.cs
index 86cf813..dc57163 100644
--- a/Launcher-Core/Utils.cs
+++ b/Launcher-Core/Utils.cs
@@ -1,11 +1,9 @@
-using System.IO.Compression;
using System;
using System.IO;
-using SharpCompress.Archives;
-using SharpCompress.Common;
-using SharpCompress.Readers;
-using System.Diagnostics;
using CmlLib.Core;
+using CmlLib.Core.Auth;
+using XboxAuthNet.Game.Msal;
+using CmlLib.Core.Auth.Microsoft;
namespace Plombir;
@@ -27,6 +25,31 @@ static public class Utils
}
+ /*
+ Method is working, but we need to wait for client-id approval.
+ */
+ public static async Task? GetLicensedSession()
+ {
+ try
+ {
+ var app = await MsalClientHelper.BuildApplicationWithCache(
+ "d87c436c-aad0-46ea-b392-b53b3ed787b1"
+ );
+ var loginHandler = JELoginHandlerBuilder.BuildDefault();
-
+ var authenticator = loginHandler.CreateAuthenticatorWithNewAccount(default);
+ authenticator.AddMsalOAuth(app, msal => msal.DeviceCode(deviceCode =>
+ {
+ Console.WriteLine(deviceCode.Message);
+ return Task.CompletedTask;
+ }));
+ authenticator.AddXboxAuthForJE(xbox => xbox.Basic());
+ authenticator.AddJEAuthenticator();
+ return await authenticator.ExecuteForLauncherAsync();
+ }
+ catch (Exception e)
+ {
+ throw new Exception($"Failed to authentificate! {e}");
+ }
+ }
}