Git Product home page Git Product logo

Comments (5)

adamjmcgrath avatar adamjmcgrath commented on September 24, 2024

Hi @rococtz - thanks for raising this

All this package's errors are caught and handled by Express (see https://github.com/auth0/node-oauth2-jwt-bearer/blob/main/packages/express-oauth2-jwt-bearer/src/index.ts#L76)

This is how errors should be handled in Express, see https://expressjs.com/en/guide/error-handling.html#catching-errors

I'm not sure what mechanism is causing those entries to show in your Cloudwatch logs, perhaps it's the default Express error handler - is your NODE_ENV set correctly? Also, you could have a look at writing your own error handler

from node-oauth2-jwt-bearer.

rococtz avatar rococtz commented on September 24, 2024

@adamjmcgrath This is very helpful, thank you very much.

from node-oauth2-jwt-bearer.

isaachinman avatar isaachinman commented on September 24, 2024

@rococtz @adamjmcgrath I've seen identical InvalidTokenError: "exp" claim timestamp check failed errors, despite my JWTs being set to a 30 day expiry (in the Auth0 dashboard).

For my user base, this means that expired tokens should almost never happen, yet I see these errors many times per day.

Any hints as to how these errors can be debugged? As @rococtz hints at, even reqs without a token end up spitting out "exp" claim timestamp check failed, so I have a feeling this error block is unintentionally catching many other errors.

I've tried logging the WWW-Authenticate header as per the docs. It's just:

{"WWW-Authenticate":"Bearer realm=\"api\", error=\"invalid_token\", error_description=\"'exp' claim timestamp check failed\""}

Which doesn't actually provide any further information.

from node-oauth2-jwt-bearer.

adamjmcgrath avatar adamjmcgrath commented on September 24, 2024

Hi @isaachinman

As @rococtz hints at, even reqs without a token end up spitting out "exp" claim timestamp check failed, so I have a feeling this error block is unintentionally catching many other errors.

I don't think that's what they're saying. And I don't see how this would be possible since UnauthorizedError will be thrown if there is no token on the request, and the part of code that validates the claims will not be reachable.

If you think there is a bug with this SDK, could you raise a new issue and share an example repo that demonstrates the bug and I'd be happy to debug it.

from node-oauth2-jwt-bearer.

rococtz avatar rococtz commented on September 24, 2024

@isaachinman I was getting the expired token error because it was truly expired :) The error was relevant so my only issue was that I was not catching the right way which is by using next().

from node-oauth2-jwt-bearer.

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.