123456789101112131415161718192021222324252627282930313233 |
- <?php
- /**
- *
- * User: anyluck
- * Date: 2020/6/1
- * Time: 16:29
- */
- namespace app\middleware;
- use think\facade\Request;
- class Token
- {
- public function handle($request, \Closure $next)
- {
- try {
- $authorization = Request::header("authorization"); //获取请求中的authentication字段,值形式为USERID asdsajh..这种形式
- $authorization = explode(" ", $authorization);//explode分割,获取后面一窜base64加密数据
- $authorizationInfo = explode(":", base64_decode($authorization[1])); //对base_64解密,获取到用:拼接的自字符串,然后分割,可获取appid、accesstoken、uid这三个参数
- $user = $authorizationInfo[0];// 用户名
- $user_id = $authorizationInfo[1];// 用户id
- $token = $authorizationInfo[2];// 用户token
- Request::instance()->tokens = $token;
- Request::instance()->user_id = $user_id;
- Request::instance()->user = $user;
- } catch (\Exception $exception) {
- json_result(500,"请重新登录");
- return json($exception->getMessage(),400);
- }
- return $next($request);
- }
- }
|