人才社区

 找回密码
 免费入驻

QQ登录

只需一步,快速开始

搜索
查看: 131|回复: 0

[已解决] ecshop 4.0 手机触屏端h5微信登录 一直循环授权登录

[复制链接]

51

主题

53

帖子

388

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
388
发表于 2019-7-15 02:09:36 | 显示全部楼层 |阅读模式

部署 ecshop 4.0 的H5端 > 填好社交配置 Wechat - 微信登录 信息保存之后,发现在微信开发工具和手机微信上一直循环弹出微信授权登录,初步判断是登录状态问题,

和前端联调并打印程序运行结果以及研究各种运行过程发现前端拿不到cookie,api 接口(api.test.demo)给 h5端(ww.test.demo/h5) 设置cookie,

直接给 h5.test.demo 设置cookie不会生效,只能给主域 test.demo 设置才会生效。


查看微信登录回调接口 `appserver\app\Http\Controllers\v2\UserController.php`  中的 `webCallback`  方法,


```

         if (isset($_GET['referer'])) {

             Log::info('微信认证回调成功', $data);


             if (isset($data['openid'])) {

                 Log::info('设置的cookie为' . config('app.domain_url'));

                 setcookie('o', $data['openid'], time()+7200, '/', config('app.domain_url'));

             }


             if (isset($data['token'])) {

                 setcookie('t', $data['token'], time()+7200, '/', config('app.domain_url'));

             }


             return redirect(urldecode($_GET['referer']));

         }

```


可以看到是给 `domain_url ` 设置cookie


所以需要注意 appserver/.evn 中的 `DOMAIN_URL` 配置,


```

#商城Domain

DOMAIN_URL=test.demo                #(此处必须为主域名,设置二级域名或三级域名均无效,api域名、H5域名必须为此主域下的域名)

#商城url

SHOP_URL=http://ww.test.demo


#分享url

SHARE_URL=http://ww.test.demo/h5


#H5商城

SHOP_H5=http://ww.test.demo/h5

```


此处DOMAIN_URL竟然还是安装的时候自动生成的,真是一个大坑。手动修改成顶级主域名后开发工具测试一切正常,手机测试一切正常。希望这处对您配置ecshop3.6和ecshop4.0的手机触屏端h5的微信登录或者QQ登录/微博登录有一定帮助。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费入驻

本版积分规则

快速回复 返回顶部 返回列表