← Назад к ресурсам

DevAuth Neo

Authenticate Minecraft accounts in development environments

Modrinth management utility

Описание

Authenticate Minecraft accounts in development environments. This is a "reincarnation" of [DevAuth](https://github.com/DJtheRedstoner/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``: ```groovy dependencies { localRuntime 'net.litetex.mcm:dev-auth-neo:' // Further documentation: https://wiki.fabricmc.net/documentation:fabric_loom } ``` via Modrinth Add the following to ``build.gradle``: ```groovy 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:' // 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` | 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](https://aka.ms/mce-reviewappid) 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](https://github.com/DJtheRedstoner/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](https://aka.ms/mce-reviewappid) 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](https://github.com/MultiMC/Launcher) (default) * [DevLogin](https://github.com/covers1624/DevLogin) * [Prism](https://github.com/PrismLauncher/PrismLauncher) | 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](https://account.live.com/consent/Manage).