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, а имел глобальный токен при загрузке страницы, который можно применить, повторив его.