3.0 KiB
3.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
5895f70df9fc0f352b528e6a | Create New Middleware | 2 | Crear nuevo middleware |
Description
ensureAuthenticated(req, res, next)
, que verificará si un usuario se autentica llamando a los pasaportes autenticados en la solicitud, que a su vez verifica si es necesario definir el usuario . Si es así, se debe llamar a next () , de lo contrario, solo podemos responder a la solicitud con un redireccionamiento a nuestra página de inicio para iniciar sesión. Una implementación de este middleware es: función asegurarAutenticada (req, res, next) { if (req.isAuthenticated ()) { volver siguiente (); } res.redirect ('/'); };Ahora agregue asegurarAutenticado como un middleware a la solicitud de la página de perfil antes del argumento a la solicitud de obtención que contiene la función que representa la página.
app.ruta ('/ perfil') .get (asegúrese de autenticado, (req, res) => { res.render (process.cwd () + '/ views / pug / profile'); });Envía tu página cuando creas que lo has hecho bien.
Instructions
Tests
tests:
- text: Middleware asegurarAutenticado debe implementarse y en nuestra ruta / perfil
testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /ensureAuthenticated[^]*req.isAuthenticated/gi, "Your ensureAuthenticated middleware should be defined and utilize the req.isAuthenticated function"); assert.match(data, /profile[^]*get[^]*ensureAuthenticated/gi, "Your ensureAuthenticated middleware should be attached to the /profile route"); }, xhr => { throw new Error(xhr.statusText); })'
- text: Una solicitud de obtención a / perfil redirige correctamente a / ya que no estamos autenticados
testString: 'getUserInput => $.get(getUserInput("url")+ "/profile") .then(data => { assert.match(data, /Home page/gi, "An attempt to go to the profile at this point should redirect to the homepage since we are not logged in"); }, xhr => { throw new Error(xhr.statusText); })'
Challenge Seed
Solution
// solution required