Laravel JWT无效的索偿日期ReactJS

时间:2019-02-11 00:31:53

标签: reactjs laravel jwt unix-timestamp

我有一个laravel流明API,我们正在发出一些登录请求,并且希望验证令牌的签名。

实际上,我们的.env是这样的:

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:AdA23VBkVMHBkxTzGCyphNbvqsG1Jh9XENi4PQuFusM=
APP_TIMEZONE=UTC

LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=narval_tenant
DB_USERNAME=root
DB_PASSWORD=realhost

CACHE_DRIVER=file
QUEUE_DRIVER=sync

JWT_SECRET=TQquewiCV0znRVZMN2JTmA0ukNNpXV4z
JWT_TTL=3600

我们的请求将令牌发送给我们。 实际上令牌看起来像:

{
  "iss": "MY_URL",
  "iat": 1549844206,
  "exp": 1550060206,
  "nbf": 1549844206,
  "jti": "iX9Wzivlrh52qMYh",
  "sub": 1,
  "prv": "87e0af1ef9fd15812fdec97153a14e0b047546aa",
  "email": "MY_EMAIL"
}

如果我们在JWT.io上验证令牌和签名,则会得到“签名已验证”

但是,当我们做出反应时,我们会进行以下验证:

import jwt_decode from "jwt-decode";
import * as jwt from "jsonwebtoken";

try {
    console.log(nextProps.token)
    const decoded = jwt.verify(nextProps.token, "TQquewiCV0znRVZMN2JTmA0ukNNpXV4z");
    localStorage.setItem("token", nextProps.token);
    this.props.history.push("/headquarters");
  } catch (e) {
    console.log(e.message)
    this.setState({ isLoading: false });
    let myColor = { background: "#f44242", text: "#FFFFFF" };
    notify.show("Error en inicio de sesión", "custom", 5000, myColor);
  }

在上面说的文档中,我们收到“ jwt not active”消息:

NotBeforeError

如果当前时间早于nbf索赔,则抛出该事件。

Error object:
date: Date 2019-02-11T00:25:24.000Z
​​message: "jwt not active"
​​name: "NotBeforeError"
stack: ""

我想念什么? JTW Node正在检查索赔的另一个日期?

0 个答案:

没有答案