Yii如何实现第三方授权后跳转至之前页面? [ 2.0 版本 ]
需要实现的正常操作流程:
1、点击论坛页(无需授权,forum/index)
2、点击个人中心(需要授权,member/index)
3、跳转至用户登录(user/login)
4、点击下方第三方授权(如微信 user/auth?client=wechat)
5、微信授权跳转至个人中心(member/index);
目前(采用Yii2和yii-wx),通过Yii::$app->request->getUrl()
和Yii::$app->request->referrer
都无法实现跳转至个人中心页面。而是跳转至user/login
页面,或者forum/index
页面
以下是BaseController控制器代码:
//发送网页授权
protected function oauth()
{
$conf = Yii::$app->params['wx']['mp'];
//$url = Yii::$app->request->getUrl();
$url = Yii::$app->request->referrer;
//var_dump($url);die;
$callback = Yii::$app->urlManager->createAbsoluteUrl(['/wechat/oauth', 'url' => $url]);
$conf['oauth']['callback'] = urlencode($callback);
$app = new Application(['conf' => $conf]);
$oauth = $app->driver('mp.oauth');
if (Yii::$app->user->isGuest) {
$oauth->send();
die;
}
}
共 3 个回答
-
nswindlights 回答于 2018-09-11 15:07 举报
在login页面把上一个页面保存到session或者cookie,授权登入完成判断 session或者cookie中是否存在,存在销毁变量然后跳转就可以了
蛋蛋的蛋 , LaravelCode 觉得很赞
mydzoo
注册时间:2017-01-05
最后登录:2022-03-29
在线时长:53小时40分
最后登录:2022-03-29
在线时长:53小时40分
- 粉丝4
- 金钱2075
- 威望10
- 积分2705