Git Product home page Git Product logo

Comments (6)

timqian avatar timqian commented on July 4, 2024

+1 for this

from passport-jwt.

jbeckton avatar jbeckton commented on July 4, 2024

Answered my own question.

take a look at

https://github.com/auth0/node-jsonwebtoken

from passport-jwt.

mikenicholson avatar mikenicholson commented on July 4, 2024

Glad you figured it out. This strategy was only intended to authenticate JWTs, not issue them. I was originally using it with JWT's from a 3rd party and not issued by my own application.

I suppose this behavior could be added to the strategy but the intent was to leave it up to another party like an OAuth2 service.

from passport-jwt.

sibelius avatar sibelius commented on July 4, 2024

@themikenicholson thanks for this package.

But I think it is a good ideia to also provide a Strategy to issue JWT tokens in this own package

from passport-jwt.

mikenicholson avatar mikenicholson commented on July 4, 2024

@sibeliusseraphini I see where you're coming from but this library was originally designed to work with tokens issued by a 3rd party - particularly those issued by the Google Sign-in API for android. My primary use case was not to replace easier-to-implement session based auth methods with a JWT. Instead I'm trying to simplify interacting with third parties' oauth2.0 and simliar services using JWT as the token type.

Other JWT authentication strategies also leave issuing the token up to 3rd parties or other modules. See https://www.npmjs.com/package/passport-http-jwt-bearer.

from passport-jwt.

sibelius avatar sibelius commented on July 4, 2024

I would like to share my solution using koa@2, I need to share the secret to use in jwt and passport-jwt.

This can be used with any Strategy, and will return a json with the JWT token

export function doLogin(ctx, next) {
  return passport.authenticate('custom', async (user, info, status) => {
    if (user === false) {
      ctx.status = 401;
    } else {
      const token = jwt.sign({ id: user._id}, config.secret);
      ctx.body = {
        token: token,
      };
      next();
    }
  })(ctx, next);
}

@themikenicholson thanks

Maybe you could put this example code in the README, I'm using https://github.com/auth0/node-jsonwebtoken

from passport-jwt.

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.