When I do this $payload2 = base64_encode($payload);
I will get message “Expected type : string” so I change to $payload2 = base64_encode((string)$payload);
but I will get the “Warning: Array to string conversion” error. How to solve this error?
JavaScript
x
$header = array(
"alg" => "HS256",
"typ" => "JWT",
);
$header2 = base64_encode((string)$header);
Solution of using json_encode:
JavaScript
$header =json_encode(['typ' => 'JWT', 'alg' => 'HS256']);
$base64UrlHeader = str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($header));
Advertisement
Answer
Solved by using implode()
JavaScript
$header = array(
"alg" => "HS256",
"typ" => "JWT",
);
$header2 = implode("",$header);
$header3 = base64_encode($header2);