从网页调用平台API

该场景包括网站、微信公众号的前端页面等典型场景。

传统开发模式中,网站或微信公众号的前端网页代码会与相应的后台服务(web-server)代码存放于相同的服务器中,在同一域名下

在此种模式下,如果是个需要登录的应用,那么用户需要输入账号密码进行登录验证,或者由网页获取当前微信用户的 openId,并自动帮助用户登录。后台验证通过后会将一些认证信息写入 cookie 返回前端网页(相当于加密签名),后续网页的所有请求,都会由浏览器自动携带该域名下的 cookie 信息传入后台进行身份验证。

但搭搭云平台提供的是独立的 openAPI 服务,即独立的后台服务。在此种模式下,开发者的网页代码存放于自己的服务器中,与搭搭云平台并不在同一域名下,是跨域的,平台无法通过返回一个可持续使用的 cookie 来帮助网页完成后续请求的身份验证。

而如果不使用 cookie, 因为网页前端代码明文的原因,登录后可以用来后续验证身份的账号密码、AppId及AppSecret等第三信息也无法暴露在前端代码中。

此种模式下,需要借助用户自己的后台服务来进行转发(我们称之为 "小后台"),即由小后台来帮助前端网页实现对搭搭云平台的请求,然后将请求到的数据返回前端网页。同时,小后台则可以象传统模式一样,在完成平台身份认证后,将平台返回的 cookie 转发回前端网页,就可以象任何正常的网页一样获得持续的授权了。因为服务器间的调用在前端是不可见的,与身份验证相关的敏感信息也得到了保护。

而开发者并不用自己在后台代码中实现上述请求转发的功能,搭搭云平台为开发者提供了小后台的完整解决方案(当前仅提供基于 Node.js 的解决方案,需要其它语言版本的,请与客服联系),开发者可以下载后整体部署在用户自己的服务器上,或者部署在开发者本机用于调试。

解决方案封装了向平台 openAPI 服务转发的功能,以及短信验证码、使用微信openId登录系统等常用接口。前端网页向小后台请求时,接口 url 中增加 "/bpm/" ,按照以下格式即可实现转发:


用户域名/bpm/平台接口url

同时,平台还提供了一个前端网页的jsSDK(dada-request.js,依赖 jQuery),开发者可以直接使用其中的方法向小后台请求数据。

以上解决方案的详细文档以及下载链接,可以参阅:

前端开发指南

results matching ""

    No results matching ""