webman 使用gateway的问题

Asan阿弎

问题描述

z怎么才能在 gateway里面获取请求头
截图

172 1 0
1个回答

小Z先生

1.不使用jwt默认的获取token
2.使用get传递token值试试

 public static function onWebSocketConnect($client_id, $data)
    {
        //验证token是否正常 正常后加入admin组以及绑定用户
        $user = [];
        try {
            $token = $data['get']['token'] ?? ""; //获取jwt的token
            if (!$token) {
                throw new BadException("鉴权异常");
            }
            //验证token
            $store='admin'; //jwt的配置项
            $jwtAuth = new JwtAuth($store);
            $user = $jwtAuth->verify($token);
        } catch (\Exception $exception) {
            Gateway::sendToClient($client_id, WsUtil::encode("login", [
                "msg" => "鉴权异常"
            ]));
            Gateway::closeClient($client_id);
        }
    }

前端请求

http://wxx.com/wss?token=xxxxxxxxxxxxxx
🔝