view 2017-09-26 18:39:40 2523次浏览 0条回复 0 0 0

如题,IE11登陆后,获取不到cookie,无法通过验证,无法进入首页,刷新可以正常进入首页 。其他浏览器登陆正常。

登陆通过首页cookie验证登陆,没登陆跳转第三方登陆界面登陆后保存cookie,再跳转首页验证cookie;

$sso_token = Yii::$app->request->get('sso_token');

    if (!$sso_token) return ['code' => self::$CODE_ERR, 'msg' => 'Token不能为空'];

    $domain = Yii::$app->params['ssoLoginServer'];;
    $request_url = $domain . '/verify_login?access_token=' . $sso_token;
    $result = json_decode(file_get_contents($request_url), true);

    $callback_url = Yii::$app->session->get('callback_url');
    //保存到cookie
    $value = '';
    $expire = time() + 3600*24*30;
    $path = Yii::$app->params['img_host'];
    $host = str_replace('http://','',$path);
    if (isset($result['code']) && $result['code'] == 200) {
        $value = Des::encrypt($result['vmb_response']['accountid']);
    }else{
        return $this->redirect($callback_url);
    }
    setrawcookie("account", $value, $expire,'/',$host);
    setrawcookie("expire", $expire, $expire,'/',$host);
    //Yii::$app->session['account'] = $value;
    //Yii::$app->session['expire'] = $expire;
    
    //提取登陆后要跳转的路径
    $callback_url = $callback_url ? $callback_url : $this->callback_url;
    if(!$callback_url){
        $callback_url = Yii::$app->params['img_host'].($this->isMobile() ? '/wap': '/web');
    }
    return $this->redirect($callback_url);

以上代码是验证第三方登陆结果并保存cookie,然后跳转首页的代码

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册