Cauldron Authentication
This Documentation is correct for version 1.3.6 of CauldronAuthentication
What does this do?
Section titled âWhat does this do?âCauldron Authentication is responsible for authenticating Minecraft Users using the Microsoft Authentication System which is the only way to log in to Mojang now. This package provides all the tools needed to acquire a Minecraft Access token from an oauth token.
License Information
Section titled âLicense InformationâThis project is licensed under GPL 3.0 so please make sure that your project follows the license guidelines.
To Install the package, run the following command
npm i @jackcooperdev/cauldronauthenticationTo use this package, you need to provide a way to get a Microsoft access token. To do this, you need to create an Azure application. See here for more information.
Using Cauldron Authentication
Section titled âUsing Cauldron Authenticationâconst { startAuthenticationFlow } = require('@jackcooperdev/cauldronauthentication');
const account = await startAuthenticationFlow(microsoftAccessToken);console.log(account.profile.username);Launching the game
Section titled âLaunching the gameâPass the access_token from the result to Cauldron Engineâs
startGame. The engine reads the
username and UUID from the token itself.
const { startGame } = require('@jackcooperdev/cauldronengine/client');
await startGame('1.20.1', { type: 'vanilla' }, account.access_token);Functions
Section titled âFunctionsâstartAuthenticationFlow (microsoftAccessToken)
Section titled âstartAuthenticationFlow (microsoftAccessToken)âThis function performs the authentication flow turning a microsoft access token into a minecraft access token and getting the profile information for the user.
It takes the following parameters
microsoftAccessToken- Microsoft Access Token Acquired through oAuth flow.
The function runs each step of the MAS flow in order and resolves with the following object.
{ "profile": { "uuid": "069a79f444e94726a5befca90e38aaf5", "username": "Notch" }, "xui": "0000000000000000", "access_token": "MINECRAFT_ACCESS_TOKEN", "user_id": "aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa"}profile: The playerâs Minecraft username and UUIDxui: The Xbox user hashaccess_token: Minecraft access token (valid for 24 hours)user_id: The accountâs user id. This is not the Minecraft UUID
If no token is passed, the function rejects with NO_ACCESS_TOKEN.
If any step fails, the function rejects with an object containing the error code of the step that failed.
{ "error": "XBOXLIVE_AUTH_FAIL" }| Error | Step |
|---|---|
XBOXLIVE_AUTH_FAIL |
authenticateXboxLive |
MOJANG_FAIL |
authorizeMojang |
MINECRAFT_FAIL |
authenticateMinecraft |
PROFILE_GET_ERROR |
getProfileData. Also occurs if the account does not own Minecraft |
Additional Modules
Section titled âAdditional Modulesâ| Name | Import | Description |
|---|---|---|
| MAS | @jackcooperdev/cauldronauthentication/mas |
Provides Access to the individual functions |
Information
Section titled âInformationâWiki.vg was a great resource that provided lots of information on how various parts of Minecraft works. It has been merged into Minecraft Wiki and can be viewed here
