雲調用:防薅防泄漏,安全安心用

對於很多開發者而言,調用微信開放服務接口已經是常規操作了。

例如,開發一個小程序,你可以通過調用微信封裝好的各類開放組件和 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章