如何在 php 中使用以下参数生成 JWT 令牌 < PAYLOAD > 标记中的主题、发行者、到期时间和有效负载。
来自第三方的示例请求如下所示
<COMMAND><TYPE>REQUEST</TYPE><INTERFACE>TESTACCOUNT</INTERFACE> <REQUESTID>123</REQUESTID></COMMAND
clo*_*fin 10
你的回答让我开始了。这是我使用的工作代码(尽管是根据您的具体情况进行概括的)。感谢您让我开始!
function gen_jwt():String{
$signing_key = "changeme";
$header = [
"alg" => "HS512",
"typ" => "JWT"
];
$header = base64_url_encode(json_encode($header));
$payload = [
"exp" => 0,
];
$payload = base64_url_encode(json_encode($payload));
$signature = base64_url_encode(hash_hmac('sha512', "$header.$payload", $signing_key, true));
$jwt = "$header.$payload.$signature";
return $jwt;
}
/**
* per /sf/ask/142816831/#15875555
*/
function base64_url_encode($text):String{
return str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($text));
}
Run Code Online (Sandbox Code Playgroud)