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

# Authenticatie - GitHub Copilot SDK for Laravel

> Begrijp de authenticatiemethoden van het Laravel Copilot SDK en kies de juiste aanpak voor lokale ontwikkeling, CI, serveruitvoering en BYOK.

## Authenticatie

Het Copilot SDK ondersteunt meerdere authenticatiemethoden. Kies de methode die bij je use-case past.

## Authenticatiemethoden

| Methode                   | Belangrijkste gebruik               | Copilot-abonnement | Opmerkingen                                    |
| ------------------------- | ----------------------------------- | ------------------ | ---------------------------------------------- |
| GitHub-login (CLI)        | Ontwikkeling en handmatig uitvoeren | Vereist            | Gebruikt de logingegevens van de `copilot`-CLI |
| OAuth GitHub App / PAT    | Tokens per gebruiker                | Vereist            | Opgeven via `github_token`                     |
| Omgevingsvariabelen       | CI/CD en serverbeheer               | Vereist            | `COPILOT_GITHUB_TOKEN` enz.                    |
| BYOK (Bring Your Own Key) | Je eigen modelprovider              | Niet vereist       | Configuratie via custom providers              |

Zie [Custom providers](/nl/packages/laravel-copilot-sdk/custom-providers) voor BYOK.

## GitHub-login (CLI)

Ben je al ingelogd met de `copilot`- of `gh`-CLI, dan worden de opgeslagen inloggegevens gebruikt als je niets opgeeft.

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

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

## OAuth GitHub App / PAT

Geef een via de OAuth-flow verkregen gebruikersaccesstoken of een fine-grained PAT door aan `github_token`.

* Bedoeld voor `gho_` / `ghu_` / `github_pat_`
* `ghp_` (classic PAT) wordt afgeraden

```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();
```

Geef je `github_token` op, dan wordt `use_logged_in_user` automatisch `false`. Wil je dit expliciet instellen, dan doe je dat zo.

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

Zie [GitHub token](/nl/packages/laravel-copilot-sdk/github-token) voor details.
`github_token` en `use_logged_in_user` zijn exclusief voor de stdio-modus. In de TCP-modus moet de authenticatie aan de kant van de Copilot CLI al geregeld zijn.

## Omgevingsvariabelen

Geef je het token door via een omgevingsvariabele, dan detecteert de CLI dit automatisch. De prioriteit loopt van boven naar beneden.

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');
```

Stel in de TCP-modus de omgevingsvariabelen aan de kant van de CLI-server in.

## Prioriteit van authenticatie

Het SDK resolvet de authenticatiegegevens in deze volgorde.

1. `github_token` (expliciet opgegeven)
2. Token uit omgevingsvariabelen (`COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN`)
3. In de CLI opgeslagen OAuth-inloggegevens
4. De inloggegevens van de `gh`-CLI

## Automatisch inloggen uitschakelen

Wil je de opgeslagen inloggegevens niet gebruiken, zet dan `use_logged_in_user` op `false`.

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

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

Net als `github_token` werkt dit alleen in de stdio-modus. In de TCP-modus moet de authenticatie aan de kant van de Copilot CLI al geregeld zijn.

## De authenticatiestatus controleren

Je kunt het resultaat van `auth.getStatus` opvragen en controleren.

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

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

if (! $status->isAuthenticated) {
    // Niet geauthenticeerd
}
```

<Info>
  Zie de [GitHub-repository](https://github.com/invokable/laravel-copilot-sdk) voor de laatste informatie.
</Info>


## Related topics

- [Aan de slag - GitHub Copilot SDK voor Laravel](/nl/packages/laravel-copilot-sdk/getting-started.md)
- [GitHub-token](/nl/packages/laravel-copilot-sdk/github-token.md)
- [GitHub Actions - GitHub Copilot SDK voor Laravel](/nl/packages/laravel-copilot-sdk/github-actions.md)
- [GitHub Copilot SDK voor Laravel](/nl/packages/laravel-copilot-sdk/index.md)
- [Testen - GitHub Copilot SDK voor Laravel](/nl/packages/laravel-copilot-sdk/fake.md)
