微信小程序开发,前端直接调用服务端接口会报错 : `uploadFile:fail url not in domain list`

微信小程序官方文档 中关于服务端的接口 , 能不能在微信开发者工具中直接调用 ??? 如果不能为什么 ???

微信小程序中,某些接口如身份证识别(idCardOCR)接口是设计给后端服务器调用的,而不是直接在前端小程序中调用。以下是具体原因和如何处理的方法:

原因
安全性:
  • Access Token 泄露风险:微信 API 需要使用 Access Token 进行认证。将 Access Token 直接放在前端代码中存在安全隐患,容易被恶意用户截获和滥用。
  • 用户数据保护:身份证识别涉及敏感用户数据,直接在前端处理这些数据不符合安全规范。
    合法域名限制:
服务器域名要求:
  • 微信小程序要求所有请求的服务器域名必须在微信公众平台配置为合法域名,直接调用微信的 API 服务器域名(如 api.weixin.qq.com)可能不在小程序配置的合法域名列表中。
设计意图:
  • 架构设计:微信官方设计这些接口时,是出于安全性和数据管理的考虑,意图让后端服务器去处理这些调用。
解决方案
使用后端中转调用微信 API
  1. 后端获取 Access Token 并调用微信 API:
  • 后端服务器定期获取和刷新 Access Token,并使用 Access Token 调用微信 API。
  • 后端提供一个 API 给前端小程序,前端将需要识别的图片上传到后端,后端再调用微信的身份证识别 API 并将结果返回给前端。

结论

微信小程序前端不能直接调用某些后端接口(如身份证识别 idCardOCR 接口),主要是出于安全性和设计意图的考虑。最佳实践是通过后端中转来调用这些接口,以确保安全性和合规性。

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该错误提示"uploadFile:fail createUploadTask:fail url not in domain list"表示上传图片或创建上传任务时,URL不在小程序配置的合法域名列表中。这种错误通常在正式上传时出现,因为在模拟器上不进行域名验证。为了解决这个问题,你可以按照以下步骤进行操作: 1. 首先,登录微信公众平台小程序后台,在开发管理中找到开发设置。 2. 在开发设置中,点击修改服务器域名。 3. 在“uploadFile合法域名”一栏,添加你使用的URL的域名。 4. 保存设置并重新上传图片或创建上传任务。 这样,你的URL被认为是合法的,并且不再出现该错误提示了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [小程序上传图片报错MiniProgramError “createUploadTask:fail url not in domain list“ 解决方案](https://blog.csdn.net/guo_qiangqiang/article/details/120223568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【微信小程序fail url not in domain list 解决方法](https://blog.csdn.net/cxy18137478587/article/details/126222858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值