skinswitcher/src/api.js

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;