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

# Flujo de concesión de OAuth orientado al cliente

## Para iniciar un flujo OAuth dentro de Fluz

Asegúrate de que tu configuración de [OAuth](/configure-o-auth-app) esté correcta.

Dirige a tu usuario final a `https://uni.staging.fluzapp.com/authorize`

con los siguientes parámetros de consulta:

| query param    | description                                                                                                                                                                                                                                                    |
| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| response\_type | Para hacer una solicitud de permisos de OAuth, este será el valor `code`.                                                                                                                                                                                      |
| client\_id     | El ID de cliente de OAuth para tu app desde la configuración de OAuth.                                                                                                                                                                                         |
| redirect\_uri  | el redirect\_uri configurado en tu app desde la configuración de OAuth.                                                                                                                                                                                        |
| scopes         | una lista delimitada por espacios de los alcances que deseas que el usuario acepte. Esta lista debe ser un subconjunto de los alcances que seleccionaste para tu configuración de OAuth. Si agregas un alcance que no has habilitado para tu app, se ignorará. |
| state          | un campo opcional que se puede usar para conservar alguna información *en tu cliente*, ya que se incluirá con un redireccionamiento OAuth exitoso.                                                                                                             |

La lista de scopes disponibles se puede encontrar aquí: [Autenticación](/concepts/authentication)

Aquí tienes un ejemplo del formato esperado:

```text theme={null}
https://uni.staging.fluzapp.com/authorize?response_type=code&client_id=dab5c80e-0321-4c3a-988a-ffedfd64d8db&redirect_uri=https://google.com/oauth/finalize&scopes=MAKE_DEPOSIT%20LIST_PAYMENT%20MAKE_WITHDRAW%20REVEAL_VIRTUALCARD
```

**Ejemplo de la interfaz del cliente OAuth:**

![Página de permisos de OAuth de ejemplo](https://storage.googleapis.com/fluz-fluz-file-uploads-staging-wlfprelricuyxowb/assets/oauth-widget-permissions.png)

## Respuesta esperada

Si has construido la URL correctamente y coincide con la configuración, puedes esperar que el cliente sea redirigido a tu `redirect_uri` con los siguientes parámetros de consulta:

| query params | description                                                                                                                                                                                                                                                                                                                                       |
| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| code         | El código de autorización vinculado a la concesión de scopes de OAuth de ese usuario. Este código se usa para intercambiar por un `accessToken` y `refreshToken` de primera clase que contienen los `scopes` que el usuario ha aceptado. Consulta [Intercambiar un código de OAuth](/exchange-an-o-auth-authorization-code) para más información. |
| state        | el mismo valor que enviaste en la solicitud inicial, sin modificar.                                                                                                                                                                                                                                                                               |

Si la URL no se ha configurado correctamente, la respuesta de la URL incluirá un mensaje de error que describe el error.
