# Autenticación

La biblioteca `huggingface_hub` permite a los usuarios gestionar la autenticación en el Hub de forma programática. Esto incluye iniciar sesión, cerrar sesión, cambiar entre tokens y listar los tokens disponibles.

Para más detalles sobre la autenticación, consulte [esta sección](../quick-start#authentication).

## login[[huggingface_hub.login]]

#### huggingface_hub.login[[huggingface_hub.login]]

```python
huggingface_hub.login(token: str | None = None, add_to_git_credential: bool = False, skip_if_logged_in: bool = True)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L57)

**Parámetros:**

token (`str`, *opcional*) : Token de acceso del usuario para generar desde https://huggingface.co/settings/token.

add_to_git_credential (`bool`, por defecto `False`) : Si `True`, el token se configurará como credencial de git. Si no hay un helper de credenciales de git configurado, se mostrará una advertencia al usuario. Solo se utiliza cuando se proporciona `token`; se ignora en el flujo basado en navegador.

skip_if_logged_in (`bool`, por defecto `True`) : Si es `True`, no se solicita un token si el usuario ya ha iniciado sesión. Establezca `False` para forzar un nuevo inicio de sesión. En la CLI, use `--force` en su lugar.

**Excepciones:** ``ValueError`` o `DeviceCodeError`

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- Si se pasa un token de organización. Solo los tokens de cuenta personal son válidos para iniciar sesión.
- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- Si el token no es válido.
- `DeviceCodeError` -- Si el inicio de sesión basado en el navegador falla (autorización denegada, código expirado, ...).

Inicia sesión en la máquina para acceder al Hub.

El `token` se persiste en la caché y se configura como una credencial de git. Una vez completado, la máquina inicia sesión y el token de acceso estará disponible en todos los componentes de `huggingface_hub`. Si no se proporciona `token`, se utiliza un flujo de OAuth basado en navegador para autenticar: se abre una URL, se introduce un código corto y el token se recupera y guarda. En una terminal, también puede optar por pegar un token de acceso existente.

Para iniciar sesión desde fuera de un script, también se puede usar `hf auth login`, que es un comando de línea de comandos que envuelve a [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login).

> [!TIP]
> Cuando no se pasa el token, [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login) detecta automáticamente si el script se ejecuta en un cuaderno o no. Sin embargo, esta detección puede no ser precisa debido a la variedad de cuadernos que existen actualmente. En ese caso, siempre puedes forzar la interfaz de usuario usando [notebook_login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.notebook_login) o [interpreter_login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.interpreter_login).

## interpreter_login[[huggingface_hub.interpreter_login]]

#### huggingface_hub.interpreter_login[[huggingface_hub.interpreter_login]]

```python
huggingface_hub.interpreter_login(skip_if_logged_in: bool = True)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L284)

**Parámetros:**

skip_if_logged_in (`bool`, por defecto `True`) : Si es `True`, no se solicita un token si el usuario ya ha iniciado sesión. Establezca `False` para forzar un nuevo inicio de sesión. En la CLI, use `--force` en su lugar.

Muestra un mensaje para iniciar sesión en el sitio web de HF y almacenar el token.

Esto es equivalente a [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login) sin pasar un token cuando no se ejecuta en un notebook. [interpreter_login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.interpreter_login) es útil si desea forzar el uso de la terminal en lugar de un flujo de notebook.

Para más detalles, consulte [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login).

## notebook_login[[huggingface_hub.notebook_login]]

#### huggingface_hub.notebook_login[[huggingface_hub.notebook_login]]

```python
huggingface_hub.notebook_login(skip_if_logged_in: bool = True)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L335)

**Parámetros:**

skip_if_logged_in (`bool`, por defecto `True`) : Si es `True`, no se solicita un token si el usuario ya ha iniciado sesión. Establezca `False` para forzar un nuevo inicio de sesión. En la CLI, use `--force` en su lugar.

Muestra un mensaje para iniciar sesión en el sitio web de HF y almacenar el token.

Esto es equivalente a [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login) sin pasar un token cuando se ejecuta en un notebook. [notebook_login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.notebook_login) es útil si deseas forzar el uso del flujo de notebook en lugar de un prompt en la terminal.

Para más detalles, consulte [login()](/docs/huggingface_hub/v2.4.0/es/package_reference/authentication#huggingface_hub.login).

## logout[[huggingface_hub.logout]]

#### huggingface_hub.logout[[huggingface_hub.logout]]

```python
huggingface_hub.logout(token_name: str | None = None)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L120)

**Parámetros:**

token_name (`str`, *opcional*) : Nombre del token de acceso del que se desea cerrar la sesión. Si es `None`, se cerrará la sesión de todos los tokens de acceso guardados.

**Excepciones:** ``ValueError``

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- Si no se encuentra el nombre del token de acceso.

Desconecta la máquina del Hub.

El token se elimina de la máquina y se retira de git credential.

## auth_switch[[huggingface_hub.auth_switch]]

#### huggingface_hub.auth_switch[[huggingface_hub.auth_switch]]

```python
huggingface_hub.auth_switch(token_name: str, add_to_git_credential: bool = False)
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L162)

**Parámetros:**

token_name (`str`) : Nombre del token de acceso al que cambiar.

add_to_git_credential (`bool`, por defecto `False`) : Si `True`, el token se establecerá como credencial de git. Si no hay un helper de credenciales de git configurado, se mostrará una advertencia al usuario. Si `token` es `None`, el valor de `add_to_git_credential` se ignora y se solicitará nuevamente al usuario final.

**Excepciones:** ``ValueError``

- [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError) -- Si no se encuentra el nombre del token de acceso.

Cambiar a un token de acceso diferente.

## auth_list[[huggingface_hub.auth_list]]

#### huggingface_hub.auth_list[[huggingface_hub.auth_list]]

```python
huggingface_hub.auth_list()
```

[Fuente](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/_login.py#L191)

Listar todos los tokens de acceso almacenados.

