Giter Club home page Giter Club logo

Comments (4)

ademars94 avatar ademars94 commented on July 21, 2024 1

@sahibjotsaggu You need to go into ./app/routes/api.js and find the routing code for '/users'. In this code, the .post() code block is AFTER the authentication middleware. To solve the issue, you need to create another route to '/users' BEFORE the authentication middleware and put the .post() code block there.

Like this:

// POST to '/users' (token check happens AFTER this route, so it IS NOT protected)
apiRouter.route('/users')
  .post({
    // Create and save new user
  })

// Route to obtain token
apiRouter.post('/authenticate', function(req, res) {
  // Creates a token for valid user/password
}

// Route middleware to verify a token
apiRouter.use(function(req, res, next) {
  // Checks for valid token on all requests AFTER THIS POINT
}

// GET user index (token check happens BEFORE this route, so it IS protected)
apiRouter.route('/users')
  .get({
    // Sends a response with the user index data
  })

The reason you need to do this is because when you are trying to create a new user, you don't have an authentication token (since only users can get tokens). Protecting the route for creating new users makes no sense, so we move it before the token check / authentication logic. HOWEVER, you should keep the .get() block BELOW the authentication. You don't want unauthenticated users to be able to access the user index, but you want them to be able to create accounts. If you have any questions let me know.

from mean-machine-code.

ademars94 avatar ademars94 commented on July 21, 2024 1

@sevilayha I am going to create a pull req for this issue, as I think this fix should be made. I remember having a very hard time figuring this out when I was doing the tutorial.

from mean-machine-code.

sahibjotsaggu avatar sahibjotsaggu commented on July 21, 2024

@ademars94 How did you fix this issue?

from mean-machine-code.

sahibjotsaggu avatar sahibjotsaggu commented on July 21, 2024

@ademars94 Thanks for that! Ya, I figured that was the problem but I thought they would've thought about this when writing the book lol

from mean-machine-code.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.