Skip to content

PrismarineJS/node-yggdrasil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

152 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yggdrasil

NPM version Build Status Discord Gitter Irc

Try it on gitpod

A Node.js client for doing requests to yggdrasil, the Mojang authentication system, used for Minecraft and Scrolls.

Usage

$ npm install yggdrasil

Client

//init
const ygg = require('yggdrasil')({
  //Optional settings object
  host: 'https://authserver.mojang.com' //Optional custom host. No trailing slash.
});

//Authenticate a user
ygg.auth({
  token: '', //Optional. Client token.
  agent: '', //Agent name. Defaults to 'Minecraft'
  version: 1, //Agent version. Defaults to 1
  user: '', //Username
  pass: '', //Password
  requestUser: false //Optional. Request the user object to be included in response
}).then(
  (response)=>{},
  (error)=>{}
);

//Refresh an accessToken
ygg.refresh(oldAccessToken, clientToken, true).then(
  ({accessToken, clientToken, user?})=>{},
  (error)=>{}
);
// Note that requestUser is an optional parameter. If set to true, it requests the user object from Mojang's authentication servers as well.

//Validate an accessToken
ygg.validate(token).then(
  (response)=>{},
  (error)=>{}
);

//Invalidate all accessTokens using a current valid accessToken and clientToken.
ygg.invalidate(accessToken, clientToken).then(
  (response)=>{},
  (error)=>{}
);

//Invalidate all accessTokens
ygg.signout(username, password).then(
  (response)=>{},
  (error)=>{}
);

Server

const yggserver = require('yggdrasil').server({
  //Optional settings object
  host: 'https://authserver.mojang.com' //Optional custom host. No trailing slash.
});

//Join a server (clientside)
yggserver.join(token, profile, serverid, sharedsecret, serverkey).then(
  (response)=>{},
  (error)=>{}
);

//Join a server (serverside)
yggserver.hasJoined(username, serverid, sharedsecret, serverkey).then(
  (clientInfo)=>{},
  (error)=>{}
);

Proxy Support

const ProxyAgent = require('proxy-agent');

const ygg = require('yggdrasil')({
  //Any type of HTTP Agent 
  agent: new ProxyAgent('https://example.com:8080')
});

Further Reading

About

Node.js library to interact with Mojang's authentication system, known as Yggdrasil

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors