minecraft-auth
Advanced tools
Comparing version 2.0.5 to 2.0.6
@@ -47,4 +47,7 @@ "use strict"; | ||
}); | ||
server.fullClose = async function (success) { | ||
server.fullClose = function (success) { | ||
_success = success; | ||
if (server.abort) { | ||
serverConfig.abort?.removeEventListener("abort", server.abort); | ||
} | ||
if (server.serverTimeout) { | ||
@@ -54,4 +57,3 @@ clearTimeout(server.serverTimeout); | ||
} | ||
server.closeAllConnections(); | ||
await server.close(); | ||
server.close(); | ||
}; | ||
@@ -64,17 +66,30 @@ return server; | ||
server.serverTimeout = setTimeout(async () => { | ||
await server.fullClose(false); | ||
server.fullClose(false); | ||
j("Timeout error"); | ||
}, serverConfig.timeout); | ||
if (serverConfig.abort) { | ||
server.abort = function () { | ||
server.fullClose(false); | ||
j("Aborted"); | ||
}; | ||
if (serverConfig.abort.aborted) { | ||
server.abort(); | ||
} | ||
else { | ||
serverConfig.abort.addEventListener("abort", server.abort); | ||
} | ||
} | ||
async function requestListener(req, res) { | ||
if (!req.url) | ||
return; | ||
res.setHeader("Connection", "close"); | ||
switch (req.url.split('?')[0]) { | ||
case '/token': | ||
if (serverConfig.redirectAfterAuth) { | ||
await res.writeHead(301, { | ||
res.writeHead(301, { | ||
Location: serverConfig.redirectAfterAuth, | ||
}); | ||
} | ||
await res.end(); | ||
await server.fullClose(true); | ||
res.end(); | ||
server.fullClose(true); | ||
if (req.url.includes('?code')) { | ||
@@ -94,4 +109,4 @@ let code = req.url.split('?code=')[1]; | ||
case '/url': | ||
await res.writeHead(200); | ||
await res.end(createUrl()); | ||
res.writeHead(200); | ||
res.end(createUrl()); | ||
break; | ||
@@ -101,4 +116,4 @@ case '/close': | ||
res.end(); | ||
await server.fullClose(false); | ||
j(undefined); | ||
server.fullClose(false); | ||
j("Closed"); | ||
break; | ||
@@ -118,4 +133,2 @@ case '/auth': | ||
} | ||
await res.writeHead(404); | ||
await res.end(); | ||
} | ||
@@ -122,0 +135,0 @@ server.on('request', requestListener); |
@@ -0,1 +1,2 @@ | ||
/// <reference types="node" /> | ||
export type MSConfigType = { | ||
@@ -9,2 +10,3 @@ appID: string; | ||
export type ServerConfigType = { | ||
abort?: AbortSignal; | ||
port: number; | ||
@@ -11,0 +13,0 @@ host: string; |
@@ -17,3 +17,3 @@ "use strict"; | ||
let jsonResponseEncoded = JSON.parse(response); | ||
let decodedValue = JSON.parse(atob(jsonResponseEncoded.properties[0].value)); | ||
let decodedValue = JSON.parse(Buffer.from(jsonResponseEncoded.properties[0].value, "base64").toString("utf-8")); | ||
let jsonResponse = { | ||
@@ -20,0 +20,0 @@ ...jsonResponseEncoded, |
@@ -5,3 +5,4 @@ /// <reference types="node" /> | ||
export type ListeningHttpServer = http.Server & { | ||
fullClose: (success: boolean) => any; | ||
abort?: () => void; | ||
fullClose: (success: boolean) => void; | ||
serverTimeout?: NodeJS.Timeout; | ||
@@ -8,0 +9,0 @@ }; |
{ | ||
"name": "minecraft-auth", | ||
"version": "2.0.5", | ||
"version": "2.0.6", | ||
"description": "Package to authenticate with minecraft using traditional yggdrasil, new microsoft authentication and non-premium.", | ||
@@ -30,6 +30,5 @@ "main": "dist/index.js", | ||
"engines": { | ||
"node": ">=18.2.0" | ||
"node": ">=16" | ||
}, | ||
"dependencies": { | ||
"atob": "^2.1.2", | ||
"http-client-methods": "^1.0.4" | ||
@@ -42,3 +41,2 @@ }, | ||
"@tsconfig/node16": "^16.1.1", | ||
"@types/atob": "^2.1.2", | ||
"@types/jest": "^29.5.5", | ||
@@ -45,0 +43,0 @@ "@types/node": "^20.8.3", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
73358
1
9
1154
- Removedatob@^2.1.2
- Removedatob@2.1.2(transitive)