70 lines
1.5 KiB
JavaScript
70 lines
1.5 KiB
JavaScript
/* eslint-disable no-unused-vars */
|
|
const axios = require("axios");
|
|
|
|
class MojangAPI {
|
|
constructor(clientId) {
|
|
this.clientId = clientId;
|
|
this.accessToken;
|
|
this.profile;
|
|
}
|
|
|
|
authenticate(user, password) {
|
|
var payload = {
|
|
"agent": {
|
|
"name": "Minecraft",
|
|
"version": 1
|
|
},
|
|
"username": user,
|
|
"password": password,
|
|
"clientToken": this.clientId
|
|
};
|
|
|
|
return axios({
|
|
method: "POST",
|
|
url: "https://authserver.mojang.com/authenticate",
|
|
data: payload,
|
|
});
|
|
}
|
|
|
|
refresh(token) {
|
|
var payload = {
|
|
"accessToken": token,
|
|
"clientToken": this.clientId,
|
|
"requestUser": true
|
|
};
|
|
|
|
return axios({
|
|
method: "POST",
|
|
url: "https://authserver.mojang.com/refresh",
|
|
data: payload,
|
|
});
|
|
}
|
|
|
|
validate(token) {
|
|
var payload = {
|
|
"accessToken": token,
|
|
"clientToken": this.clientId
|
|
};
|
|
|
|
return axios({
|
|
method: "POST",
|
|
url: "https://authserver.mojang.com/validate",
|
|
data: payload,
|
|
});
|
|
}
|
|
|
|
invalidate(token) {
|
|
var payload = {
|
|
"accessToken": token,
|
|
"clientToken": this.clientId
|
|
};
|
|
|
|
return axios({
|
|
method: "POST",
|
|
url: "https://authserver.mojang.com/invalidate",
|
|
data: payload,
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = MojangAPI; |