UnauthorizedError:验证时,jwt格式错误

时间:2019-08-17 21:26:17

标签: express authentication jwt auth0

我正在使用Auth0对我的应用程序的用户进行身份验证。我一直在尝试访问服务器端的资源,但是我一直收到UnauthorizedError:jwt的格式错误。

我在社区论坛上关注了以下主题:https://community.auth0.com/t/unauthorizederror-jwt-malformed-in-express-js/7352 许多用户认为指南中的受众价值是错误的。指南中的受众是https:/// userinfo,但应该是“ {https://.auth0.com/api/v2/”,我已经进行了更改,但错误仍然存​​在。

这对某些人有效,但对我却无效。 这是我遵循的指南:https://auth0.com/blog/react-tutorial-building-and-securing-your-first-app/

const checkJwt = jwt({
  secret: jwksRsa.expressJwtSecret({
    cache: true,
    rateLimit: true,
    jwksRequestsPerMinute: 5,
    jwksUri: `https://<domain>/.well-known/jwks.json`
  }),

  // Validate the audience and the issuer.
  audience: "https://<something>/api/v2/",
  issuer: `https://<something>/`,
  algorithms: ["RS256"]
});

这是在快递方面写的代码。

this.auth0 = new auth0.WebAuth({
      // the following three lines MUST be updated
      domain: "<Domain>",
      audience: "https://<Something>/api/v2/",
      clientID: "clientID",
      redirectUri: "http://localhost:3000/callback",
      responseType: "token",
      scope: "openid"
    });

这是写在应用程序前端的代码。

1 个答案:

答案 0 :(得分:0)

我们的一位高级工程师对此有很好的建议,我将在下面分享:

  

如果您尚未这样做,则应执行以下步骤:

     
      
  1. 获取您收到的令牌;例如,使用给定的console.log语句正在开发中。
  2.   
  3. 查看捕获的令牌;看起来像JWT吗?
  4.   
  5. 如果它是一个JWT,您可以在jwt.io上对其进行解析,则在尝试对其进行验证之前,更新API以记录接收到的令牌;收到了吗   令牌与您期望的匹配吗?
  6.   
     

总而言之,请尝试采取一些措施,使您可以收集更多信息   信息。