'JWT', 'alg' => 'HS256')); $payload = json_encode($payload); $segments = array(); $segments[] = str_replace('=', '', strtr(base64_encode($header), '+/', '-_')); $segments[] = str_replace('=', '', strtr(base64_encode($payload), '+/', '-_')); $signing_input = implode('.', $segments); $signature = hash_hmac('SHA256', $signing_input, $key, true); $segments[] = str_replace('=', '', strtr(base64_encode($signature), '+/', '-_')); return implode('.', $segments); } } ?>