This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Authentifizierung
forge auth verwaltet Anmeldung und Zugangsdaten für Forgejo.
Befehle
login– mit OAuth2, Token oder Benutzername und Passwort anmeldenlogout– gespeicherte Zugangsdaten entfernenrefresh– OAuth-Zugangsdaten erneuernsetup-git– Git-Credential-Helper für den Host setzenstatus– Anmeldestatus anzeigenswitch– aktiven Forgejo-Host wechselntoken– gespeicherten Access-Token ausgeben
forge auth --help
forge auth login --help
forge auth status
forge config list zeigt Standardziel und Benutzer. Mit --host kann ein anderes Ziel gewählt werden.
Login-Varianten
OAuth2 (Browser)
Öffentliche OAuth2-App in Forgejo anlegen (Settings → Applications) mit Loopback-Redirect, z. B. http://127.0.0.1/.
forge auth login --server https://forge.example.com --client-id YOUR_CLIENT_ID
Personal Access Token (stdin)
printf '%s' "$FORGE_TOKEN" | forge auth login --server https://forge.example.com --with-token
Benutzername und Passwort
Passwort wird sicher abgefragt; forge legt einen Access-Token an (Scope all). Bei 2FA folgt eine OTP-Abfrage.
forge auth login --server https://forge.example.com --username alice
Standard-Tokenname ist forge-cli (--token-name). Existiert der Name bereits auf dem Server, wählt forge automatisch einen neuen Namen (forge-cli-<host>-<nano>-<rand>) und wiederholt das bis zu achtmal.
Credential-Speicherung
| Backend | Wann |
|---|---|
| OS-Keychain / Secret Service | Standard, wenn verfügbar (macOS Keychain, Windows Credential Manager, Linux org.freedesktop.secrets) |
Datei credentials.json |
Automatischer Fallback, wenn der Keyring fehlt oder fehlschlägt; oder erzwungen per Env |
- Linux-Pfad:
~/.config/forge/credentials.json(überos.UserConfigDir()) - Verzeichnis
0700, Datei0600 - Nur Datei erzwingen (typisch Headless-Server ohne D-Bus/X11):
export FORGE_CREDENTIAL_STORE=file
forge auth login --server https://forge.example.com --username alice
Beim Fallback erscheint einmalig auf stderr:
warning: credentials stored in …/credentials.json; OS keyring unavailable
Host-Metadaten (ohne Secrets) liegen in config.json im selben Verzeichnis.
Headless-Beispiel
Ohne GNOME Keyring, X11 oder D-Bus Secret Service:
export FORGE_CREDENTIAL_STORE=file
forge auth login --username forgeagent --server https://repository.example.com
forge auth status