diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs index 90ec1cfc..c9295ecc 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs @@ -19,10 +19,12 @@ internal sealed partial class PandaClient public async ValueTask> QRCodeFetchAsync(CancellationToken token = default) { - GameLoginRequest options = GameLoginRequest.Create(4, HoyolabOptions.DeviceId40); + // Use 12 (zzz) instead of 4 (gi) temporarily to get legacy game token + GameLoginRequest options = GameLoginRequest.Create(12, HoyolabOptions.DeviceId40); HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.QrCodeFetch) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(options); Response? resp = await builder @@ -34,10 +36,11 @@ internal sealed partial class PandaClient public async ValueTask> QRCodeQueryAsync(string ticket, CancellationToken token = default) { - GameLoginRequest options = GameLoginRequest.Create(4, HoyolabOptions.DeviceId40, ticket); + GameLoginRequest options = GameLoginRequest.Create(12, HoyolabOptions.DeviceId40, ticket); HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.QrCodeQuery) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(options); Response? resp = await builder diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs index e581f2a1..ebe956ec 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs @@ -79,6 +79,7 @@ internal sealed partial class PassportClient2 HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.AccountGetSTokenByGameToken) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(data); Response? resp = await builder