1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace app\http\middleware\kefu;
- use app\Request;
- use app\services\kefu\LoginServices;
- use crmeb\interfaces\MiddlewareInterface;
- use think\facade\Config;
- class KefuAuthTokenMiddleware implements MiddlewareInterface
- {
-
- public function handle(Request $request, \Closure $next)
- {
- $authInfo = null;
- $token = trim(ltrim($request->header(Config::get('cookie.token_name', 'Authori-zation')), 'Bearer'));
-
- $services = app()->make(LoginServices::class);
- $kefuInfo = $services->parseToken($token);
- $request->macro('kefuId', function () use (&$kefuInfo) {
- return (int)$kefuInfo['id'];
- });
- $request->macro('kefuInfo', function () use (&$kefuInfo) {
- return $kefuInfo;
- });
- return $next($request);
- }
- }
|