使用 JavaScript,如何检查 Auth0 无密码 session 是否已过期

Using JavaScript, how do I check that an Auth0 passwordless session has expired

我正在为我的应用程序使用 Auth0 无密码身份验证,效果很好。我获得了一个用于身份验证的 JWT,并在我的授权 header 中传递了它以请求我的 API,它工作得很好,但是一旦令牌过期,我就会按预期从我的 API 获得 401。

我希望能够 pre-empt 在前端执行此操作,让我的 front-end 知道 JWT 已过期,或者刷新我的令牌而无需用户再次登录.

Documentation for Auth0 lock-passwordless hasn't turned up anything

您的 JWT 可能会包含 exp(过期时间)字段中的信息,例如

"exp": 1490268359,

您可以在客户端解码令牌,它是 base64 编码的 JSON。在 https://jwt.io/ 上查看。 exp 字段是 1970-01-01 00:00:00 UTC

之后以秒为单位的 unix 时间戳

另请在此处查看:https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4 关于 JWT 中的 exp 和其他声明