Laravel JWT Недействительная дата претензии ReactJS - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть laravel lumen 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 проверяет претензии с другой датой?

...