# Instalación en back

{% hint style="info" %}
**Consejo,** antes de iniciar la instalación de este paquete, asegúrate de configurar la base de datos para tu proyecto, visita [Configura tu base de datos](https://docs.aurorajs.dev/primeros-pasos/configura-tu-base-de-datos) para obtener más información.
{% endhint %}

Para iniciar la instalación ejecutaremos el comando

```
aurora add back
```

De las opciones propuestas, seleccionaremos **oAuth.**

<figure><img src="https://2612599629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBUeSOWPoM3CNQnh94qaA%2Fuploads%2FQbku0OHm6j0rr1hRh7wl%2Fadd-oauth.png?alt=media&#x26;token=fc411971-c057-48c5-9500-f178780fe140" alt=""><figcaption><p>Selección de oAuth</p></figcaption></figure>

Este comando instalará todos los ficheros necesarios en nuestro proyecto y añade el código necesario para registrar nuestro paquete **oAuth**.

{% hint style="warning" %}
Actualmente el paquete **oAuth** tiene como dependencia el paquete **iam** (Identity and access management), por lo que es necesaria su instalación.&#x20;
{% endhint %}

Volveremos a ejecutar el comando *aurora add back*, esta vez para seleccionar **iam**.

```
aurora add back
```

<figure><img src="https://2612599629-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBUeSOWPoM3CNQnh94qaA%2Fuploads%2F5qEF2zHAnDKi5YEhz0Ps%2Fadd-iam.png?alt=media&#x26;token=fb8338ef-92c6-499a-a1e4-fd392cc3b783" alt=""><figcaption><p>Selección de iam</p></figcaption></figure>

Tenemos que generar unas claves privadas y públicas para la firma y verificación de tokens, con el siguiente comando.

```
aurora keys
```

### Seed OAuth & IAM

Nos faltaría poblar nuestra base de datos con la información básica para nuestros paquetes **oAuth** e **iam** para ello arrancaremos nuestra aplicación en modo [REPL](https://es.wikipedia.org/wiki/REPL).

```
npm run start:repl
```

Una vez arrancada nuestra aplicación en modo REPL, desde consola podremos ejecutar los seeders de cada paquete, **es importante ejecutar primero el IamSeeder y a continuación OAuthSeeder.**

```
await $(IamSeeder).main()
```

```
await $(OAuthSeeder).main()
```

{% hint style="info" %}
Una vez poblado la base de datos, como usuario por defecto para nuestra aplicación sería el siguiente:\
**Usuario: <john.doe@contoso.com>**\
**Contraseña: 1111**
{% endhint %}

### Otras consideraciones

{% hint style="info" %}
**Consejo,** para agilizar el desarrollo puedes establecer la variable **DATABASE\_SYNCHRONIZE** a **true** en el fichero **.env**, para que Aurora cree por ti la estructura de base de datos necesaria.
{% endhint %}

Si arrancamos nuestra aplicación debería de crear la estructura de la base de datos de nuestros paquetes **oAtuh** e **iam**.

```
npm run start:dev
```

Deberíamos de tener en <http://localhost:8080/api> nuestra definición de nuestra API rest con Swagger y en <http://localhost:8080/graphql> la definición de nuestra API GraphQL.
