> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentifizierung - GitHub Copilot SDK für Laravel

> Verstehen Sie die Authentifizierungsmethoden des Laravel Copilot SDK und wählen Sie die passende für lokale Entwicklung, CI, Server-Betrieb und BYOK aus.

## Authentifizierung

Das Copilot SDK unterstützt mehrere Authentifizierungsmethoden. Wählen Sie die für Ihren Anwendungsfall passende aus.

## Authentifizierungsmethoden

| Methode                   | Hauptanwendung                    | Copilot-Abonnement | Anmerkungen                              |
| ------------------------- | --------------------------------- | ------------------ | ---------------------------------------- |
| GitHub-Login (CLI)        | Entwicklung / manuelle Ausführung | Erforderlich       | Nutzt die Anmeldedaten der `copilot`-CLI |
| OAuth GitHub App / PAT    | Nutzerspezifische Tokens          | Erforderlich       | Wird über `github_token` angegeben       |
| Umgebungsvariablen        | CI/CD, Server-Betrieb             | Erforderlich       | `COPILOT_GITHUB_TOKEN` u. a.             |
| BYOK (Bring Your Own Key) | Eigener Model-Provider            | Nicht erforderlich | Custom-Provider-Konfiguration            |

Zu BYOK siehe [Custom providers](/de/packages/laravel-copilot-sdk/custom-providers).

## GitHub-Login (CLI)

Wenn Sie mit der `copilot`- oder `gh`-CLI angemeldet sind und nichts angeben, werden die gespeicherten Anmeldedaten verwendet.

```php theme={null}
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::run(prompt: 'Hello');
```

## OAuth GitHub App / PAT

Übergeben Sie ein über den OAuth-Flow erhaltenes User-Access-Token oder ein Fine-grained PAT an `github_token`.

* Erwartet werden `gho_` / `ghu_` / `github_pat_`
* `ghp_` (Classic PAT) wird nicht empfohlen

```php theme={null}
use Revolution\Copilot\Facades\Copilot;

$config = array_merge(config('copilot'), [
    'github_token' => $user->github_token,
]);

$response = Copilot::useStdio($config)->run(prompt: '...');
Copilot::stop();
```

Wenn Sie `github_token` angeben, wird `use_logged_in_user` automatisch auf `false` gesetzt. Um dies explizit umzuschalten, gehen Sie wie folgt vor.

```php theme={null}
$config = [
    'github_token' => $user->github_token,
    'use_logged_in_user' => true,
];
```

Details siehe [GitHub token](/de/packages/laravel-copilot-sdk/github-token).
`github_token` und `use_logged_in_user` sind nur im stdio-Modus verfügbar. Im TCP-Modus muss die Copilot-CLI bereits authentifiziert sein.

## Umgebungsvariablen

Wenn Sie das Token über Umgebungsvariablen übergeben, erkennt die CLI dies automatisch. Die Priorität ist von oben nach unten wie folgt.

1. `COPILOT_GITHUB_TOKEN`
2. `GH_TOKEN`
3. `GITHUB_TOKEN`

```dotenv theme={null}
COPILOT_GITHUB_TOKEN=github_pat_xxx
```

```php theme={null}
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::run(prompt: 'Hello');
```

Konfigurieren Sie im TCP-Modus die Umgebungsvariablen auf der CLI-Serverseite.

## Priorität der Authentifizierung

Das SDK löst Anmeldedaten in folgender Reihenfolge auf.

1. `github_token` (explizit angegeben)
2. Umgebungsvariablen-Token (`COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN`)
3. In der CLI gespeicherte OAuth-Anmeldedaten
4. Anmeldedaten der `gh`-CLI

## Automatisches Login deaktivieren

Um gespeicherte Anmeldedaten nicht zu verwenden, setzen Sie `use_logged_in_user` auf `false`.

```php theme={null}
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::useStdio([
    'use_logged_in_user' => false,
])->run(prompt: 'Hello');
```

Wie `github_token` wird auch dies nur im stdio-Modus unterstützt. Im TCP-Modus muss die Copilot-CLI bereits authentifiziert sein.

## Authentifizierungsstatus prüfen

Sie können den Status über das Ergebnis von `auth.getStatus` abrufen.

```php theme={null}
use Revolution\Copilot\Facades\Copilot;

$status = Copilot::client()->getAuthStatus();

if (! $status->isAuthenticated) {
    // Nicht authentifiziert
}
```

<Info>
  Aktuelle Informationen finden Sie im [GitHub-Repository](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [GitHub Actions - GitHub Copilot SDK für Laravel](/de/packages/laravel-copilot-sdk/github-actions.md)
- [GitHub Copilot SDK für Laravel](/de/packages/laravel-copilot-sdk/index.md)
- [Erste Schritte - GitHub Copilot SDK für Laravel](/de/packages/laravel-copilot-sdk/getting-started.md)
- [Testing - GitHub Copilot SDK für Laravel](/de/packages/laravel-copilot-sdk/fake.md)
- [Laravel Cloud - GitHub Copilot SDK für Laravel](/de/packages/laravel-copilot-sdk/laravel-cloud.md)
