Download the PHP package lsxiao/jwt-auth without Composer
On this page you can find all versions of the php package lsxiao/jwt-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package jwt-auth
注意!!!
由于该库的主要目的是JWT的实现原理的技术分享,而我目前忙于公司的Android项目,暂没有时间维护当前扩展包(对Laravel5.4的兼容性不好),并且扩展包稳定性还有待验证,不推荐使用到正式环境。
所以我推荐大家使用 https://github.com/tymondesigns/jwt-auth :),如果你有JWT相关不懂的,可以提issue,大家一起探讨。
如果你想学习JWT的实现原理,我相信本项目应该会带给你一些帮助:),配合专栏食用更佳 https://zhuanlan.zhihu.com/p/22531819
jwt-auth
Laravel/Lumen JSON Web Token 认证扩展包
待完成
- [ ] 更加详细的单元测试
- [ ] 命令行生成HMAC RSA 秘钥
引入jwt-auth到项目中
使用方法
配置jwt-auth
Laravel
jwt.php配置文件会被拷贝到项目根目录的config文件夹中
Lumen
在项目的lumen项目的根目录创建config文件夹,将配置文件复制到此处
配置auth
Laravel
在config文件夹中找到auth.php
Lumen
将配置文件复制到config文件夹
修改如下:
开启认证
修改 bootstrap/app.php,取消 auth middleware 及 AuthServiceProvider 的注释
修改 app/Providers/AuthServiceProvider.php 的 boot 方法:
用户类
用户类 User 需要确认已实现 \Illuminate\Contracts\Auth\Authenticatable 接口,默认的 User 类即可
在Controller中根据账号密码获取Token
在需要的地方刷新Token
Controller 中
Middleware 中
需要处理的异常
所有异常都继承自Lsxiao\JWT\Exception\BaseJWTException
,建议在App\Exceptions\Handler
处理异常,返回不同的HTTP status code
Lsxiao\JWT\Exception\SecretKeyException
秘钥在.evn文件中不存在,秘钥不符合规范等Lsxiao\JWT\Exception\TokenExpiredException
Token 过期Lsxiao\JWT\Exception\TokenInvalidException
Token 无效Lsxiao\JWT\Exception\TokenNotInRequestException
Token不存在于Request QueryParam或者Body或者Header中Lsxiao\JWT\Exception\TokenParseException
token解析异常Lsxiao\JWT\Exception\UnauthorizedException
未授权异常
版本说明
-
1.0.4 (2016-11-21)
- 修复hasBlacklistGraceTimeOrNotInBlacklist函数的bug。
-
1.0.3 (2016-11-21)
- 修复Auth::refreshToken方法不能刷新成功的严重BUG
-
1.0.2 (2016-10-28)
- 支持Laravel,提供LaravelServiceProvider
-
1.0.1 (2016-10-28)
- 修复获取用户的时候没进行身份认证的BUG
- 1.0 (2016-9-29)
- jwt基本功能提交
维护人
知乎 : @面条
Github : @lsxiao
开源许可
Copyright 2016 lsxiao, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
All versions of jwt-auth with dependencies
illuminate/auth Version ~5.1
illuminate/contracts Version ~5.1
illuminate/http Version ~5.1
illuminate/support Version ~5.1