PHPでのJWTの簡単な使用例
1842 ワード
公式サイトhttps://jwt.io/
バージョン3.0https://github.com/lcobucci/jwt
インストール
に頼る PHP 5.5+ (v3.2) and PHP 7.1 (v4.x) OpenSSL Extension
例
tokenの取得
tokenの検証
バージョン3.0https://github.com/lcobucci/jwt
インストール
composer require lcobucci/jwt
に頼る
例
tokenの取得
setIssuer("suspn.com") //
->setAudience("suspn.com") //
->setId("abc", true) // token
->setIssuedAt(time()) //token
->setExpiration(time() + 60) //
->setNotBefore(time() + 5) // ,token
->set('uid', 30061); //
//
$builder->sign($signer, $secret);
// token,
$token = (string)$builder->getToken();
var_dump($token);
tokenの検証
parse($token);
// token
if (!$parse->verify($signer, $secret)) {
invalidToken('Invalid token');
}
//
if ($parse->isExpired()) {
invalidToken('Already expired');
}
//
var_dump($parse->getClaims());
} catch (Exception $e) {
//var_dump($e->getMessage());
invalidToken('Invalid token');
}
function invalidToken($msg) {
header('HTTP/1.1 403 forbidden');
exit($msg);
}