ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

云调用:防薅防泄漏,安全安心用

2021-12-01 16:04:18  阅读:142  来源: 互联网

标签:泄漏 调用 托管 token 微信云 https 安心 com


对于很多开发者而言,调用微信开放服务接口已经是常规操作了。

例如,开发一个小程序,你可以通过调用微信封装好的各类开放组件和 API 接口,接入订阅消息、OCR、直播等服务。

而优雅的调用往往只需要最简单的操作方式,尽量简洁的调用路径可以提升开发效率。

以前,微信开放服务接口的正常调用,需要开发者使用密钥信息获取access_token,并自己维护token的有效期和安全。而获取access_token,涉及到密钥交互请求,对于安全性意识一般或研发条件有限的企业和开发者,容易暴露密钥导致被盗用

那么,是否有一种更高效,又更安全的调用方式,能让微信生态内的小程序、公众号网页等多端应用,调用得又快又好,让业务敏捷躲开调用Bug?

「云调用」由此诞生,它天然具有「免鉴权调用微信开放服务接口」特性,通过云调用,开发者无需再维护 access_token 等鉴权信息,写少量代码即可轻松调用微信开放服务接口,十分便捷;同时,对于接口请求合法性的判定,云调用全程经由微信私有链路实现,可以有效规避公网访问可能带来的安全风险,性能开销也更小。

图片

以微信支付接口为例,使用云调用,开发者无需关心证书、鉴权、微信支付服务端文档等,一行代码即可调用相应接口。

如何使用云调用?

微信云开发和微信云托管中都支持使用云调用,两者的具体实现形式有所不同:

图片

微信云开发中的云调用,主要通过云函数调用 wx-server-sdk 访问开放服务接口,需要具备 Node.js 等相关知识,因此适合偏前端与全栈开发团队使用。

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html

示例代码如下:

const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
exports.main = async (event, context) => {
  return await cloud.openapi.security.msgSecCheck-v1({ content:"安全检查测试文本" })
}

微信云托管中的云调用,不限制开发语言和框架,云托管后台会周期性地将调用开放接口所需的 access_token 令牌(类似于“验证码”),推送到服务的容器实例中,此时只需从容器本地读取“验证码”,再包装请求后就可以调用了,整体上更适合后端和全栈开发团队。

https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/guide/weixin/token.html

示例代码如下:

const fs = require('fs')
const request = require('request')
const token = fs.readFileSync('/.tencentcloudbase/wx/cloudbase_access_token', 'utf-8')
return new Promise((resolve, reject) => {
  request({
    url: `https://api.weixin.qq.com/wxa/msg_sec_check?cloudbase_access_token=${token}`,
    body: JSON.stringify({ content:"安全检查测试文本" }),
  },async function (error, response) {
    resolve(JSON.parse(response.body))
  })
})

无论选择哪种开发模式,使用云调用后,访问都会在微信私有链路中完成,能够保障业务安全性。对于前后端分离架构的业务,更推荐使用微信云托管作为后端服务。

图片

目前,已有大量不同规模的业务,通过微信云托管获得了更快的和更好的安全保障,达到防“薅羊毛”、防DDoS攻击、优化网络延迟等目标。

此外,微信云托管还上线了「无门槛部署」功能,支持通过预设的开源框架快速创建一个微信云托管服务,并通过各种调用方式发起对服务的请求,大幅降低了使用门槛,欢迎体验。

https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/quickstart/template/

图片

登录方式上,微信云托管新增支持了公众号登录。免写 Dockerfile 一键迁移、静态资源存储、WebSocket等新功能也即将上线,敬请期待。

更多资料

微信云托管官网(请在PC端访问以下地址)

https://cloud.weixin.qq.com/

微信云托管官方文档

https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/basic/intro.html

微信云托管系列教程

https://developers.weixin.qq.com/community/business/course/00068c2c0106c0667f5b01d015b80d

微信云托管专家1V1服务

https://cloud.tencent.com/act/pro/cloudrun

微信云开发/云托管激励计划

https://cloud.tencent.com/act/pro/wxcloudrun

标签:泄漏,调用,托管,token,微信云,https,安心,com
来源: https://www.cnblogs.com/CloudBase/p/15629349.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有