@jackcooperdev/cauldronauthentication
v1.3.6
Published
Authentication Controller For CauldronMC
Readme
Cauldron Authentication
This Documentation is correct for version 1.3.6 of CauldronAuthentication
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
This project is licensed under GPL 3.0 so please make sure that your project follows the license guidelines.
Setup
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
const { startAuthenticationFlow } = require('@jackcooperdev/cauldronauthentication');
const account = await startAuthenticationFlow(microsoftAccessToken);
console.log(account.profile.username);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
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
Errors
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
| Name | Import | Description |
|----------------------------|---------------------------------------------|---------------------------------------------|
| MAS | @jackcooperdev/cauldronauthentication/mas | Provides Access to the individual functions |
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
