Сохранить глобальный токен в WordPress / PHP

php #wordpress #jwt

#php #wordpress #jwt

Вопрос:

Я создаю токен JWT, используя PHP-пакет Firebase JWT. Код, который у меня есть до сих пор, выглядит следующим образом:

 function kh_generate_jwt () { 
    $jwt_key = get_field('jwt_key', 'option');
    $current_time = time();
    $minutes = 3;
    $expiration_time = strtotime('  ' . $minutes . ' minutes', $current_time);
    $payload = array(
        "iss" => "XXX",
        "aud" => "XXX",
        "iat" => $current_time,
        "nbf" => $current_time,
        "exp" => $expiration_time,
        "uid" => get_current_user_id()
    );
    /**
     * IMPORTANT:
     * You must specify supported algorithms for your application. See
     * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
     * for a list of spec-compliant algorithms.
     */
    $jwt = JWT::encode($payload, $jwt_key);
    $decoded = JWT::decode($jwt, $jwt_key, array('HS256'));
}
 

Затем закодированную полезную $jwt нагрузку можно будет использовать на сайте в качестве некоторой глобальной переменной. Я слышал, что глобальные переменные не так хороши в использовании, поэтому мне интересно, каким было бы наилучшее решение для генерации этого токена, а затем иметь возможность использовать токен по всей странице в разных ситуациях?

Основное использование токена будет заключаться в добавлении его к некоторым URL-адресам iframe в качестве параметра. Поэтому важно, чтобы новый токен не генерировался для каждого iframe, а имел глобальный токен при загрузке страницы, который можно применить, повторив его.