halo-infinite-api 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authentication/xbox-authentication-client.js +2 -9
- package/dist/authentication/xbox-authentication-client.js.map +1 -1
- package/dist/core/halo-infinite-client.d.ts +2 -2
- package/package.json +1 -1
- package/src/authentication/xbox-authentication-client.ts +2 -8
- package/src/core/halo-infinite-client.ts +2 -2
|
@@ -3,13 +3,6 @@ import pkceChallenge from "pkce-challenge";
|
|
|
3
3
|
import { DateTime } from "luxon";
|
|
4
4
|
import { coalesceDateTime } from "../util/date-time";
|
|
5
5
|
const SCOPES = ["Xboxlive.signin", "Xboxlive.offline_access"];
|
|
6
|
-
// polyfill crypto for oauth-pkce
|
|
7
|
-
if (!globalThis.window)
|
|
8
|
-
globalThis.window = {};
|
|
9
|
-
if (!globalThis.window.crypto) {
|
|
10
|
-
globalThis.window.crypto = (await import("node:crypto"))
|
|
11
|
-
.webcrypto;
|
|
12
|
-
}
|
|
13
6
|
export var RelyingParty;
|
|
14
7
|
(function (RelyingParty) {
|
|
15
8
|
RelyingParty["Xbox"] = "http://xboxlive.com";
|
|
@@ -107,6 +100,7 @@ export class XboxAuthenticationClient {
|
|
|
107
100
|
code_challenge,
|
|
108
101
|
})}`;
|
|
109
102
|
const code = await this.getAuthCode(authorizeUrl);
|
|
103
|
+
const requestStart = DateTime.now();
|
|
110
104
|
const response = await this.httpClient.post("https://login.live.com/oauth20_token.srf", new URLSearchParams({
|
|
111
105
|
grant_type: "authorization_code",
|
|
112
106
|
code,
|
|
@@ -118,10 +112,9 @@ export class XboxAuthenticationClient {
|
|
|
118
112
|
}), {
|
|
119
113
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
120
114
|
});
|
|
121
|
-
const responseDate = DateTime.fromRFC2822(response.headers["date"]);
|
|
122
115
|
return {
|
|
123
116
|
token: response.data.access_token,
|
|
124
|
-
expiresAt:
|
|
117
|
+
expiresAt: requestStart.plus({ seconds: response.data.expires_in }),
|
|
125
118
|
refreshToken: response.data.refresh_token,
|
|
126
119
|
};
|
|
127
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xbox-authentication-client.js","sourceRoot":"","sources":["../../src/authentication/xbox-authentication-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,GAAG,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"xbox-authentication-client.js","sourceRoot":"","sources":["../../src/authentication/xbox-authentication-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ interface ResultContainer<TValue> {
|
|
|
14
14
|
Result: TValue;
|
|
15
15
|
}
|
|
16
16
|
interface TokenPersister {
|
|
17
|
-
load: <T>(tokenName: string) => Promise<T
|
|
18
|
-
save: (tokenName: string, token: unknown) => Promise<void
|
|
17
|
+
load: <T>(tokenName: string) => Promise<T> | T;
|
|
18
|
+
save: (tokenName: string, token: unknown) => Promise<void> | void;
|
|
19
19
|
}
|
|
20
20
|
export type AssetKindTypeMap = {
|
|
21
21
|
[AssetKind.Map]: MapAsset;
|
package/package.json
CHANGED
|
@@ -5,12 +5,6 @@ import { XboxTicket } from "../models/xbox-ticket";
|
|
|
5
5
|
import { coalesceDateTime } from "../util/date-time";
|
|
6
6
|
|
|
7
7
|
const SCOPES = ["Xboxlive.signin", "Xboxlive.offline_access"];
|
|
8
|
-
// polyfill crypto for oauth-pkce
|
|
9
|
-
if (!globalThis.window) globalThis.window = {} as any;
|
|
10
|
-
if (!globalThis.window.crypto) {
|
|
11
|
-
globalThis.window.crypto = (await import("node:crypto"))
|
|
12
|
-
.webcrypto as typeof globalThis.window.crypto;
|
|
13
|
-
}
|
|
14
8
|
|
|
15
9
|
export enum RelyingParty {
|
|
16
10
|
Xbox = "http://xboxlive.com",
|
|
@@ -132,6 +126,7 @@ export class XboxAuthenticationClient {
|
|
|
132
126
|
|
|
133
127
|
const code = await this.getAuthCode(authorizeUrl);
|
|
134
128
|
|
|
129
|
+
const requestStart = DateTime.now();
|
|
135
130
|
const response = await this.httpClient.post<{
|
|
136
131
|
access_token: string;
|
|
137
132
|
expires_in: number;
|
|
@@ -155,10 +150,9 @@ export class XboxAuthenticationClient {
|
|
|
155
150
|
}
|
|
156
151
|
);
|
|
157
152
|
|
|
158
|
-
const responseDate = DateTime.fromRFC2822(response.headers["date"]);
|
|
159
153
|
return {
|
|
160
154
|
token: response.data.access_token,
|
|
161
|
-
expiresAt:
|
|
155
|
+
expiresAt: requestStart.plus({ seconds: response.data.expires_in }),
|
|
162
156
|
refreshToken: response.data.refresh_token,
|
|
163
157
|
};
|
|
164
158
|
}
|
|
@@ -39,8 +39,8 @@ interface PaginationContainer<TValue> {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
interface TokenPersister {
|
|
42
|
-
load: <T>(tokenName: string) => Promise<T
|
|
43
|
-
save: (tokenName: string, token: unknown) => Promise<void
|
|
42
|
+
load: <T>(tokenName: string) => Promise<T> | T;
|
|
43
|
+
save: (tokenName: string, token: unknown) => Promise<void> | void;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export type AssetKindTypeMap = {
|