Compartir vía


Creación de una aplicación web Node.js para llamar a una API

Se aplica a:Círculo blanco con un símbolo X gris. inquilinos de personal Círculo verde con un símbolo de marca de verificación blanca. inquilinos externos (más información)

En este artículo, preparará el proyecto de aplicación que creó en Tutorial: preparación del inquilino externo para iniciar sesión de usuarios en una aplicación web de Node.js para llamar a una API web. Este artículo es la segunda parte de una serie de guías de cuatro partes.

Requisitos previos

Actualización de los archivos del proyecto

Cree más archivos, fetch.js, todolistController.js, todos.js, todos.hbs y .env, y organícelos para lograr la siguiente estructura del proyecto:

    ciam-sign-in-call-api-node-express-web-app/
    ├── .env
    └── server.js
    └── app.js
    └── authConfig.js
    └── fetch.js
    └── package.json
    └── auth/
        └── AuthProvider.js
    └── controller/
        └── authController.js
        └── todolistController.js
    └── routes/
        └── auth.js
        └── index.js
        └── todos.js
        └── users.js
    └── views/
        └── layouts.hbs
        └── error.hbs
        └── id.hbs
        └── index.hbs   
        └── todos.hbs 
    └── public/stylesheets/
        └── style.css

Instalar las dependencias de la aplicación

En su terminal, instale más paquetes Node, axios, cookie-parser, body-parser, method-override, ejecutando el siguiente comando:

    npm install axios cookie-parser body-parser method-override 

Actualización de los componentes de la interfaz de usuario de la aplicación

  1. En su editor de código, abra el archivo views/index.hbs y después agregue un vínculo Ver su lista de tareas pendientes:

        <a href="/todos">View your todolist</a>
    

    El archivo views/index.hbs ahora es similar al siguiente:

        <h1>{{title}}</h1>
        {{#if isAuthenticated }}
        <p>Hi {{username}}!</p>
        <a href="/users/id">View your ID token claims</a>
        <br>
        <a href="/todos">View your todolist</a>
        <br>
        <a href="/auth/signout">Sign out</a>
        {{else}}
        <p>Welcome to {{title}}</p>
        <a href="/auth/signin">Sign in</a>
        {{/if}}
    

    Agregamos un vínculo a una interfaz de usuario que le permite interactuar con ciam-ToDoList-api. Definimos la ruta rápida para este punto de conexión más adelante en esta guía.

  2. En el editor de código, abra el archivo views/todos.hbs y agregue el siguiente código:

        <h1>Todolist</h1>
        <div>
            <form action="/todos" method="POST">
                <input type="text" name="description" class="form-control" placeholder="Enter a task" aria-label="Enter a task"
                    aria-describedby="button-addon">
                <button type="submit" id="button-addon">Add</button>
            </form>
        </div>
        <div class="row" style="margin: 10px;">
            <ol id="todoListItems" class="list-group"> 
                {{#each todos}} 
                <li class="todoListItem" id="todoListItem">
                    <span>{{description}}</span>
                    <form action='/todos?_method=DELETE' method='POST'>
                        <span><input type='hidden' name='_id' value='{{id}}'></span>
                        <span><button type='submit'>Remove</button></span>
                    </form>
                </li> 
                {{/each}} 
            </ol>
        </div>
        <a href="/">Go back</a>
    

    Esta vista permite al usuario realizar tareas que inician una llamada API. Por ejemplo, una vez que un usuario inicia sesión y la aplicación adquiere un token de acceso, el usuario puede crear un recurso (tarea) en la aplicación de API mediante el envío de un formulario.

Pasos siguientes

A continuación, aprenda a iniciar la sesión de los usuarios y a adquirir un token de acceso: