@ytakon

Почему не срабатывает проверка JWT токена?

Не работает проверка на JWT токен, есть три странички кода, заглавная index.php
<.form action="auth.php" method="post">
                    <.input type="text" class="form-control" name="gmail" id="gmail" placeholder="Введите почту"><br>
                    <.input type="text" class="form-control" name="pass" id="pass" placeholder="Введите пароль"><br>
                    <.button class="btn btn-success" type="submit">Авторизоваться</button>

при авторизации запускается код с auth.php, где после проверки данных идёт инициализация токена
$key = '3e85abb8c6a637267228c94b7f9c2564c68f976ba983837173545afa75b629d1';
$token = JWT::encode(
    array(
        'iat'   => time(),
        'nbf'   => time(),
        'exp'   => time() + 3600,
        'data'  => array(
            'user_id'   => $user['id'],
            'user_name' => $user['name'],
            )
    ),
    $key, 'HS256'
);

setcookie("token", $token, time() + 3600, "/", "", true, true); 

$mysqli->close();

header('Location:welcome.php');
exit();

при успешном воде данных на переправляет на welcome.php. где мы делаем проверку на токен
require 'vendor/autoload.php';
use Firebase\JWT\JWT;
use Firebase\JWT\Key;

$key = '3e85abb8c6a637267228c94b7f9c2564c68f976ba983837173545afa75b629d1';

if(isset($_COOKIE['token'])){
    $decoded = JWT::decode($_COOKIE['token'], $key, array('HS256'));
} else{
    header('location:index.php');
}

но страничка просто обновляется, перенаправление работает, если при переходе убрать проверку на токен, всё работает и мы попадаем на страничку welcome.php в чём может быть проблема?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы