Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
Authenticate Minecraft accounts in development environments.
This is a "reincarnation" of DevAuth but improved, updated and available directly as a Fabric mod.
Usage
Adding the mod
via Maven Central (default)
Add the following to build.gradle:
dependencies {
modLocalRuntime 'net.litetex.mcm:dev-auth-neo:<version>'
// Further documentation: https://wiki.fabricmc.net/documentation:fabric_loom
}
via Modrinth
Add the following to build.gradle:
repositories {
// https://support.modrinth.com/en/articles/8801191-modrinth-maven
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
filter {
includeGroup 'maven.modrinth'
}
}
}
dependencies {
modLocalRuntime 'maven.modrinth:dev-auth-neo:<version>'
// Further documentation: https://wiki.fabricmc.net/documentation:fabric_loom
}
Quickstart
IMPORTANT: DevAuth is disabled by default, in order to be unobtrusive.
The simplest way to enable it is by setting the corresponding system property: -Ddevauth.enabled=1
- When launching for the first time you will be prompted to enter your credentials
- You will also get hints on what to do in the console/logs when required
- After the authentication was successful the generated tokens will be stored in
microsoft_accounts.json- Future logins will try to reuse these tokens
- The tokens are then delegated to the game and it starts as usual
Configuration
The configuration is dynamically loaded from (sorted by highest priority)
- Environment variables
- prefixed with
DEVAUTH_ - all properties are in UPPERCASE and use
_(instead of.) as delimiter
- prefixed with
- System properties
- prefixed with
devauth.
- prefixed with
- A configuration file located in
~/.dev-auth-neo/config.json
Full list of configuration options
General
| Property | Type | Default | Notes |
|---|---|---|---|
enabled |
bool |
false |
|
account |
String |
- | If not set: Will be prompted via the console |
account-type |
String |
microsoft |
Currently only Microsoft is supported |
force-handle-all-tokens-as-expired |
bool |
false |
Handles all existing tokens as if they have expired and refreshes them |
state-dir |
String |
Automatically determined~/.dev-auth-neo) |
The directory where the login information of the provider will be saved |
cache-profile-info-minutes |
int |
3606h |
How long should fetched profile information(uuid and name) be cached? |
Microsoft Grant-Flow options
NOTE: All grant-flow options are additionally prefixed with microsoft.oauth2.
For example predefined-provider must therefore be defined as devauth.microsoft.oauth2.predefined-provider
| Property | Type | Default | Notes |
|---|---|---|---|
grant-flow |
String |
auth-code-embedded |
See bellow for available flows |
client-id |
String |
automatically determined | Designed as general purpose override for e.g. a custom provider |
scopes |
List<String> |
automatically determined |
auth-code-embedded Auth Code flow using an embedded browser
- This login mechanism is identical to the one used by Minecraft's launcher
- Therefore selected by default
- This workflow downloads and installs a Chromium browser using CEF (Chromium Embedded Framework)
- The download is around 150MB
- It's installed by default into
~/.dev-auth-neo/jcef
| Property | Type | Default | Notes |
|---|---|---|---|
use-temporary-cache-dir |
bool |
true |
Creates and uses a temporary directory for the browser cache. If this is set to false all browser information (cookies, cache) and also possible logins will be persisted! |
redirect-uri |
String |
automatically determined | Designed as general purpose override for e.g. a custom provider |
auth-code-external Auth Code flow using an external browser
- Same as
auth-code-embeddedhowever this can be done with the system browser - Starts an integrated webserver to get the tokens at the end of the flow
- ⚠ This flow depends on 3rd party clients / launchers
- These clients are totally dependent on Mojangs explicit approval and can - although unlikely to happen - be blocked at any time for any reason by them
- The 3rd party can change or delete their client without warning
- The 3rd party might be able to see your login activity
- Available 3rd parties:
- DevAuth (default)
| Property | Type | Default | Notes |
|---|---|---|---|
predefined-provider |
String |
devauth |
|
open-system-browser |
bool |
true |
Should the system browser be automatically opened with the sign in page? |
redirect-port |
int |
automatically determined | Port used for the integrated webserver |
redirect-uri |
String |
automatically determined | Designed as general purpose override for e.g. a custom provider |
device-code Device Code flow
- This flow generates a short code that needs to be verified online with the an account
- ⚠ This flow depends on 3rd party clients / launchers
- These clients are totally dependent on Mojangs explicit approval and can - although unlikely to happen - be blocked at any time for any reason by them
- The 3rd party can change or delete their client without warning
- The 3rd party might be able to see your login activity
- Available 3rd parties:
| Property | Type | Default | Notes |
|---|---|---|---|
predefined-provider |
String |
multimc |
FAQ
How do I delete the login information?
Delete %USERPROFILE%\.dev-auth-neo (Windows) or ~/.dev-auth-neo (Linux)
I want to switch to another account
What's the easiest way to do this?
Set -Ddevauth.account=otherAccountName
Security?
The tokens are stored in a file on the disk in above specified folder. As with all data on your PC, you as a user are responsible for keeping them secure.
You can revoke tokens in the Microsoft account settings.


