跳到正文

DevAuth Neo

作者:litetex

Authenticate Minecraft accounts in development environments

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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 {
    localRuntime '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 {
    localRuntime '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 . or -
  • System properties
  • prefixed with `devauth.`
  • 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 | 360
6h | 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-embedded however 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:
  • MultiMC (default)
  • DevLogin
  • Prism

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

常见问题

DevAuth Neo 支持哪些 Minecraft 版本?

DevAuth Neo 支持 Minecraft Java 版 1.21.11–26.3,共 6 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

DevAuth Neo 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

litetex 的其他作品

查看全部 →