本文整理汇总了PHP中JWT::verifySignature方法的典型用法代码示例。如果您正苦于以下问题:PHP JWT::verifySignature方法的具体用法?PHP JWT::verifySignature怎么用?PHP JWT::verifySignature使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JWT
的用法示例。
在下文中一共展示了JWT::verifySignature方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: decode
public static function decode($jwt, $key, $algo = 'HS256')
{
$tks = explode('.', $jwt);
if (count($tks) != 3) {
throw new Exception('Wrong number of segments');
}
list($headb64, $payloadb64, $cryptob64) = $tks;
if (null === ($header = json_decode(JWT::urlsafeB64Decode($headb64), true))) {
throw new Exception('Invalid segment encoding');
}
if (null === ($payload = json_decode(JWT::urlsafeB64Decode($payloadb64), true))) {
throw new Exception('Invalid segment encoding');
}
$sig = JWT::urlsafeB64Decode($cryptob64);
if (isset($key)) {
if (empty($header['alg'])) {
throw new DomainException('Empty algorithm');
}
if (!JWT::verifySignature($sig, "{$headb64}.{$payloadb64}", $key, $algo)) {
throw new UnexpectedValueException('Signature verification failed');
}
}
return $payload;
}