Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Externa klienter (läs mer)
I den här artikeln förbereder du det appprojekt som du skapade i Självstudie: Förbered din externa klientorganisation för att logga in användare i en webbapp Node.js för att anropa ett webb-API. Den här artikeln är den andra delen i en guideserie i fyra delar.
Förutsättningar
- Slutför stegen i den första delen av den här guideserien Förbered extern hyresgäst för att anropa ett API i en Node.js webbapplikation.
Uppdatera projektfiler
Skapa fler filer, fetch.js, todolistController.js, todos.js, todos.hbs och .envoch organisera dem sedan för att uppnå följande projektstruktur:
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
Installera beroenden för appar
Installera fler Node-paket i terminalen, axios, cookie-parser, body-parser, method-overridegenom att köra följande kommando:
npm install axios cookie-parser body-parser method-override
Uppdatera appgränssnittskomponenter
I kodredigeraren öppnar du views/index.hbs-filen och lägger sedan till en Visa din att göra-lista länk:
<a href="/todos">View your todolist</a>Din views/index.hbs fil ser nu ut ungefär som följande fil:
<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}}Vi lägger till en länk till ett användargränssnitt som gör att du kan interagera med ciam-ToDoList-api. Vi definierar expressvägen för den här slutpunkten senare i den här guiden.
Öppna
views/todos.hbsfil i kodredigeraren och lägg sedan till följande kod:<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>Med den här vyn kan användaren utföra uppgifter som initierar ett API-anrop. När en användare till exempel har loggat in och appen har hämtat en åtkomsttoken kan användaren skapa en resurs (uppgift) i API-appen genom att skicka ett formulär.
Nästa steg
Lär dig sedan hur du loggar in användare och skaffar en åtkomsttoken: