think-api
think-api copied to clipboard
帮助 thinkphp 5 开发者快速、轻松的构建Api🎉🎉🎉
namespace Zewail\Api\Setting; use Config; 找不到这个Config 如果用门面应该是use think\facade\Config; Config::pull 无需进行实例化就可以很方便的进行方法调用 ThinkPHP V6.0.3
我看了 laravel-jwt 的组件,自己也封装的扩展类,添加了黑名单机制;思路就是通过刷新过期时间判断token的刷新状态,过期则重新登录;刷新成功将过期token放入黑名单,不放入黑名单的话,刷新时间未过期则会出现旧token成功换取到N个新token,token的黑名单采用的cache缓存,缓存时间是token刷新时间的秒数,如果空值精确一些,可以将时间计算到token失效刷新时间的时间戳,为了保证token失效,最好多保存一些时间,以确保token的刷新时间小于当前系统时间,并且该token在缓存内已经剔除,token刷新成功后,旧的token刷新时间还在有效期时,请确保黑名单能查询到即可,旧的token刷新时间失效,黑名单就可以删除了。
尤其是 Facede 下面的类。建议加上 @method
如果响应数据是一个多维数组,那要怎么处理过滤?
rt
`serializers` is hard code in `zewail/think-api/src/Http/Response.php` could it be set free by myself with configuration ?
在某些Apache+CGI/FastCGI环境下,获取不到Authorization。在.htaccess添加以下规则 ` # Handle Authorization Header` ` RewriteCond %{HTTP:Authorization} .` ` RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]` PHP也只能获取到REDIRECT_HTTP_AUTHORIZATION,而不是HTTP_AUTHORIZATION。导致无法获取token,建议在getToken方法里面做一下判断获取
``` $api = new \Zewail\Api\Routing\Router; $api->version('v1', function () { // TODO 可以是thinkphp自带的路由 Route::rule('user/login','admin/Login/login','post')->ext('html'); Route::rule('verify','api/Verify/index','get')->ext('html'); }); ```