美文网首页laravel
对于JWT的简单理解(php)

对于JWT的简单理解(php)

作者: Mr_Arvin | 来源:发表于2019-03-17 23:40 被阅读0次

JWT(Json Web Token),其实就是一种token设计规范,由头部(Header)、载荷(Payload)、签名(Signatrue)组成。

一:Header

通常由两部分组成:令牌的类型(即JWT)和正在使用的签名算法(如HMAC SHA256)

$header = {
"alg": "HS256",
"typ": "JWT"
}

使用base64_encode编码json,得到的则是JWT的header部分。

二:Payload

$payload = {
  "sub": "test",  //主题
  "iss": "test",  //签发人
  "iat": 1461888119,  //签发时间
  "exp": 1464516119,  //过期时间
  "nbf": 1461888119,  //生效时间,在此之前是无效的
  "jti": "test",  //编号
  "aud": "test"  //受众
}

此json中的参数并不都是必须的,使用base64_encode编码json,得到的则是JWT的payload部分。

三:Signatrue

$data = base64_encode($header).'.'.base64_encode($payload);
$sign = base64_encode(hash_hmac('sha256', $data,' secret'));

此处获得的$sign则是JWT的签名部分。

将以上三部分用“点”作为分割符拼接起来urlencode,就是我们需要的token了。

$token = urlencode($data.'.'.$sign);

相关文章

  • 对于JWT的简单理解(php)

    JWT(Json Web Token),其实就是一种token设计规范,由头部(Header)、载荷(Payloa...

  • PHP使用JWT示例

    PHP使用JWT示例

  • jwt安装使用

    命令 composerrequirefirebase/php-jwt php版本需要7.1以上

  • AES 加密解密 CryptoJS + php 方案

    AES 加密解密 CryptoJS + php 方案 本来一直用 jwt[http://jwt.io],由于其明文...

  • ID Token - JWT

    我们来继续前两章(OAuth2 总结, 对OpenID Connect的理解)的讨论,进入对JWT的理解。先来简单...

  • PHP-FIG

    PHP-FIG 全称是 PHP FRAMEWORK INTEROP GROUP, 简单的可以理解为 PHP的标准化...

  • 关于php mysqli函数的一些总结及实例

    前言:php是一门入门比较简单的编程语言,同时php有非常多的内置函数。所以对于这些内置函数的理解与掌握就显得尤为...

  • JWT结构化令牌(what、why、how)

    理解JWT结构化令牌,能让自己对认证、授权流程有更深入的理解。 JWT结构化令牌 关于什么是 JWT,官方定义是这...

  • php jwt使用

    安装 使用composer管理依赖项并下载PHP-JWT: 示例 1 输出 示例 2 输出 php openss...

  • 在Laravel中使用JWT

    php版本要求:7.0+之前写过一篇原生的php操作jwt的demo https://www.jianshu.co...

网友评论

    本文标题:对于JWT的简单理解(php)

    本文链接:https://www.haomeiwen.com/subject/ouipmqtx.html