第三方 Cookie 限制说明
在使用公众号访问云开发时,登录态信息需要以第三方 Cookie 的形式保存到浏览器中。
由于 iOS 14 开始不再允许设置第三方 Cookie,非「未登录模式」的云开发请求,需要开发者配置自己域名下的云开发转发地址,将登录鉴权和云开发请求代理至第一方域名下(即 __wx__
开头的地址)
推荐使用 静态网站托管 绑定的默认域名,不需要手动配置转发规则和运维服务器,即可使用所有公众号访问云开发功能。
SDK 版本需求
从 Cloud SDK 1.2.0 开始,默认采用第一方 Cookie 登录鉴权。需要替换 HTML 模板中引入的对应脚本。
<script src="https://res.wx.qq.com/open/js/cloudbase/1.2.0/cloud.js"></script>
服务器如何配置转发
对于自建服务器,开发者需要手动配置自己域名下的 __wx__
路径的反向代理转发:将同域名下 __wx__
部分转发至 https://servicewechat.com/wxa-qbase/
参考 Nginx 配置方式:将如下 Location 添加至 server 块中
location /__wx__/ {
proxy_pass https://servicewechat.com/wxa-qbase/;
}
FAQ
我配置了转发域名,还是无法登录?
云开发下发的 Cookie 为 SameSite=None
和 HttpOnly
形式,部分较旧浏览器或系统 WebView 将无法识别,如 macOS 10.14 或 iOS 12 系统自带 Safari 等。
提示 redirect_uri 错误?
如果使用 snsapi_userinfo
等 scope,需要在公众号平台-左侧「开发」-接口权限-网页服务-网页授权-网页授权获取用户基本信息中配置域名。