火炮基地PHP JWT

一个简单的库,用于在PHP中对JSON Web令牌(JWT)进行编码和解码。应符合现行规范。

安装34、952、787

家属六百五十一

暗示者四十二

明星5×361

观察者二百六十一

餐具八百二十五

公开问题八十四

V5.0.0 2017~0627 22:17 UTC

自述文件

建立状态 最新稳定版本 总下载量 许可证

PHP JWT

一个简单的库,用于在PHP中对JSON Web令牌(JWT)进行编码和解码,符合RFC 7519.

安装

使用作曲家管理您的依赖项并下载PHP JWT:

作曲家需要FielBase/PHP JWT

例子

<?PHP
使用 \FielBaseJWT\JWT

$KEY = 示例密钥
$令牌 = 数组
    国际空间站 = > HTTP://Expul.ORG
    澳元 = > HTTP://Excel
    IAT = > 十三亿五千六百九十九万九千五百二十四
    铌酸钠 = > 十三亿五千七百万


/**
*重要事项:
*必须为应用程序指定支持的算法。
*HTTPS://TooS.IETF.Org/HTML/DRAFT-IETF JOSE-JSON-WEB-40-WEB-40算法
*列出符合规格说明的算法。
 */
$JWT = JWT::编码(编码)$令牌$KEY
$解码 = JWT::译码(译码)$JWT$KEY数组HS256);

普林特尔$解码

/*
注意:这将是一个对象,而不是一个关联数组。得到
一个关联数组,你需要这样做:
*/

$解码阵列 =数组$解码

/**
*你可以添加一个余地来解释在时钟之间有一个时钟偏移时间。
*签名和验证服务器。建议这个余地应该
不要超过几分钟。
*
*源代码:http://sOut.If/DoS/草案草案IETF OAuthJSON Web令牌。
 */
JWT::回旋余地 = 六十/ /几秒钟的回旋余地
$解码 = JWT::译码(译码)$JWT$KEY数组HS256);

>

RS256(OpenSSL)示例

<?PHP
使用 \FielBaseJWT\JWT

私人钥匙 = < <EOD
-----开始RSA私钥-----
MIXICABAKQ8KGA1PSJBYZYVBTXBLZ5H4I2P/LLCCREQQHTA5KAQ/RN
VUE4W8ODH3+3IUIYW4VQAZYQFPUWUZJKID+17T5TYZYZY8JXW+KGXTXLDMPEL9
5 +QVHGXVIXHXC1C5OGBRIDVDF6SA53RCFVSYJ4EHDE/ZUXO6UVS7URBQIDAQAB
AGABA/MXV46XXCFRNUB8LYATMLDGI/XRNTALMHJACSDWKYKEM8//8EZTW9FZXZ
BWZ/1/DoouHouGyZu8AdZJ59FZ78DYZNFOF91HBVZKK+6WGYD/LRGVEB+XRe0J
NI0GRYM2ZYUZUYRV+HyjiPoR0CCRZQSGF8K6AAD6F0CQQDZBPJYDX10QGK1
CP59UHIHJPYC0LoESK7S+HUMT3QHEAQJMZWC11QRN2N+YBWWNBLDKV+S5QGMQ5
5TNOQ9IFAKEXKYFU6YTHPG/H0IXE1I2RD0GBF05BIZO/I77 DET3N4YSJVLDCK
ZKCVY3SK2ILI4C9YY6HLHS+K9WXTTGWWJBA99DSKL48 MO7WOPR99UD22JDPSNWE
K90OMPTJZLHJBFPN1IIDHQVSJDYCHRWWN1KIJ7LQZGQ8FVZ9OCFZ/6QMCQGOB
QAWHWMUK6XPUBBYNYRI6NLKSKXGOWV7XXCOCOJVY66ILTK3IXBOXPU5EU13K
EUZ9SHYD6VKGZJTXQACKP4XXF5TGFQXGXHXX52YH+N2LTUJCDKQZJXASXGDM
B2ZNZVRLGRMGBRKMLGMGM1NPCW+BRLGCWGW2PTVNM=
-RSA私钥-----
EOD

公钥 = < <EOD
开始公钥-----
MigfMA0GCQGSI3DQBAQUAAA4GNADCBIQKGQC8KGA1PSJBYZYVBTRBLXBZ5H
4I2P/LLCCREQQHT5KAQ/RNVUE4W8ODH3+3IUIYW4VQAZYQFPUWUZJKID+17T5T
0TyZYZ8JXW+KGXTXLDMPE95+QVHGXVIXHXC1C5OGBRIDVDF6SA53RCFVYSJ4
EHDE/ZUXO6UVS7URBQIDAQAB
-----终端公钥-----
EOD

$令牌 = 数组
    国际空间站 = > 实例
    澳元 = > 范例网站
    IAT = > 十三亿五千六百九十九万九千五百二十四
    铌酸钠 = > 十三亿五千七百万


$JWT = JWT::编码(编码)$令牌私人钥匙RS256
回声 编码:\n . 普林特尔$JWT. \n

$解码 = JWT::译码(译码)$JWT公钥数组RS256);

/*
注意:这将是一个对象,而不是一个关联数组。得到
一个关联数组,你需要这样做:
*/

$解码阵列 =数组$解码
回声 Decode:\n . 普林特尔$解码阵列. \n
>

更新日志

5.0.0/2017-06-26

4.0.0/2016-07-17

3.0.0/2015-07-22

  • 最小PHP版本更新5.2.05.3.0.
  • 添加FielBaseJWT命名空间α59详情。多亏了@ Dashron
  • 需要一个非空的密钥来解码和验证JWT。α60详情。多亏了@斯琼斯608
  • 代码中更干净的文档块。α62详情。多亏了约汉德鲁伊特

2.02/2015-06-22

  • 添加支持自定义、可选JWT头的支持JWT::EnCODE(). α53详情。多亏了@麦考罗

2.1.0/2015-05-20

  • 增加支持余地的支持JWT:解码()这说明了在验证和验证实体之间的时钟偏移。多亏了@拉巴尔
  • 添加传递对象的支持阵列存取接口美元钥匙论点JWT::解码(). 多亏了AZ公司

2.0.0/2015-04-01

  • 笔记强烈建议您更新到V2.0.0,以在对称和非对称密钥一起使用时解决先前版本中已知的安全漏洞。
  • 更新签名JWT::解码(…)在验证令牌签名时需要使用支持的算法数组。

测试

使用PHPUnter运行测试:

$PEAR安装PHPUng$PHPUng-配置PHPUntual.XML.DIST.PHPUntual3.7.10由Sebastian Bergmann…..时间:0秒,内存:2.50MB OK(5个测试,5个断言)

私钥中的新行

如果您的私钥包含\n字符,务必用双引号把它包起来。而不是单引号为了正确地解释转义字符。

许可证

三条款BSD.