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

# Autenticación - GitHub Copilot SDK for Laravel

> Comprende los métodos de autenticación de Laravel Copilot SDK y elige el más adecuado para desarrollo local, CI, ejecución en servidor o BYOK.

## Autenticación

Copilot SDK admite varios métodos de autenticación. Elige el que mejor se adapte a tu caso de uso.

## Métodos de autenticación

| Método                    | Uso principal                 | ¿Requiere suscripción a Copilot? | Notas                                           |
| ------------------------- | ----------------------------- | -------------------------------- | ----------------------------------------------- |
| Login con GitHub (CLI)    | Desarrollo y ejecución manual | Sí                               | Usa las credenciales de login del CLI `copilot` |
| OAuth GitHub App / PAT    | Token por usuario             | Sí                               | Se indica con `github_token`                    |
| Variables de entorno      | CI/CD y operación en servidor | Sí                               | `COPILOT_GITHUB_TOKEN`, etc.                    |
| BYOK (Bring Your Own Key) | Proveedor de modelo propio    | No                               | Configuración de custom provider                |

Para BYOK consulta [Custom providers](/es/packages/laravel-copilot-sdk/custom-providers).

## Login con GitHub (CLI)

Si has hecho login con el CLI `copilot` o con `gh`, cuando no especificas nada se usan las credenciales guardadas.

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

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

## OAuth GitHub App / PAT

Pasa a `github_token` un user access token obtenido con OAuth o un fine-grained PAT.

* Se esperan tokens `gho_` / `ghu_` / `github_pat_`
* `ghp_` (Classic PAT) está desaconsejado

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

Si indicas `github_token`, `use_logged_in_user` pasa automáticamente a `false`. Si quieres alternar explícitamente:

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

Consulta [GitHub token](/es/packages/laravel-copilot-sdk/github-token) para más detalle.
`github_token` y `use_logged_in_user` solo funcionan en modo stdio. En modo TCP, el CLI de Copilot debe estar ya autenticado por su cuenta.

## Variables de entorno

Si pasas el token por variables de entorno, el CLI las detecta automáticamente. El orden de prioridad es de arriba a abajo:

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

En modo TCP configura las variables de entorno en el lado del servidor CLI.

## Orden de prioridad de la autenticación

El SDK resuelve las credenciales en este orden:

1. `github_token` (indicado explícitamente)
2. Token por variable de entorno (`COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN`)
3. Credenciales OAuth guardadas por el CLI
4. Credenciales del CLI `gh`

## Desactivar el login automático

Si no quieres usar las credenciales guardadas, pon `use_logged_in_user` a `false`.

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

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

Igual que con `github_token`, solo se admite en modo stdio. En TCP el CLI de Copilot debe estar ya autenticado.

## Comprobar el estado de autenticación

Puedes consultar el resultado de `auth.getStatus`.

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

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

if (! $status->isAuthenticated) {
    // No autenticado
}
```

<Info>
  Consulta la información más reciente en el [repositorio de GitHub](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [GitHub Actions - GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/github-actions.md)
- [GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/index.md)
- [Primeros pasos - GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/getting-started.md)
- [Laravel Cloud - GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/laravel-cloud.md)
- [Tests - GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/fake.md)
