Authenticate Minecraft accounts in development environments.
This is a "reincarnation" of DevAuth but improved, updated and available directly as a Fabric mod.
Add the following to build.gradle:
dependencies {
localRuntime 'net.litetex.mcm:dev-auth-neo:<version>'
// Further documentation: https://wiki.fabricmc.net/documentation:fabric_loom
}
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 {
localRuntime 'maven.modrinth:dev-auth-neo:<version>'
// Further documentation: https://wiki.fabricmc.net/documentation:fabric_loom
}
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
microsoft_accounts.json
DEVAUTH__ instead of . or -devauth.~/.dev-auth-neo/config.json| 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? |
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~/.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 browserauth-code-embedded however this can be done with the system browser| 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| Property | Type | Default | Notes |
|---|---|---|---|
predefined-provider | String | multimc |
Delete %USERPROFILE%\.dev-auth-neo (Windows) or ~/.dev-auth-neo (Linux)
What's the easiest way to do this?
Set -Ddevauth.account=otherAccountName
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.

Authenticate Minecraft accounts in development environments