JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
For JWT token, it consists of three parts:
- header about alg and type
- payload
- signature
PHP codes to generate a JWT
function createJWT($payload, $secret)
{
//this is alg used
$header = ["typ" => "JWT", "alg" => "HS256"];
$encodedHead = base64url_encode(json_encode($header));
$encodedPayLoad = base64url_encode(json_encode($payload));
//build the first two parts
$encodedHeaderAndPayload = $encodedHead . '.' . $encodedPayLoad;
$signature = base64url_encode(hash_hmac('sha256', $encodedHeaderAndPayload, $secret, true));
//build token
return $encodedHeaderAndPayload. '.' . $signature;
}
function base64url_encode($data)
{
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
No comments:
Post a Comment