Nasal Piercings Manipulator
    Wondering what’s next for npm?Check out our public roadmap! »

    yggdrasil

    1.6.0 • Public • Published

    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
    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

    Install

    npm i yggdrasil

    DownloadsWeekly Downloads

    6,895

    Version

    1.6.0

    License

    MIT

    Unpacked Size

    27.1 kB

    Total Files

    13

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar