用户登录态署名
小程序的一部分后台(HTTP)接口要求验证用户登录态。。。。???⒄咴谂灿檬毙杼峁┮詓ession_key为密钥天生的署名。。。。其中session_key是指通过wx.login 获得的登录态。。。。
署名算法
现在支持的署名算法是 hmac_sha256。。。。 关于POST请求,,开发者天生署名的算法是:
signature = hmac_sha256( post_data, session_key )
其中post_data为本次POST请求的数据包。。。。特殊地,,关于GET请求,,post_data即是长度为0的字符串。。。。
signature = hmac_sha256( "", session_key )
署名示例
例如开发者需要请求的HTTP(POST)接口,,其中请求包为一个json字符串。。。。
curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=???&sig_method=hmac_sha256'
开发者需要盘算出signature参数。。。。假设用户目今有用的session_key 为 :
'o0q0otL8aEzpcZL/FT9WsQ=='
则开发者天生署名应该是
hmac_sha256('{"foo":"bar"}', 'o0q0otL8aEzpcZL/FT9WsQ==') = 654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b
开发者服务器提倡的HTTP请求
curl -d '{"foo":"bar"}' 'https://api.weixin.qq.com/some_api?access_token=xxx&openid=xxx&signature=654571f79995b2ce1e149e53c0a33dc39c0a74090db514261454e8dbe432aa0b&sig_method=hmac_sha256'
session_key 正当性校验
我们提供接口供开发者校验服务器所生涯的登录态session_key是否正当。。。。 为了坚持session_key私密性,,我们提供的校验接口自己不直接明文session_key,,而是通过校验登录态署名完成。。。。
接口地点
请求要领:GET
https://api.weixin.qq.com/wxa/checksession?access\_token=ACCESS\_TOKEN&signature=SIGNATURE&openid=OPENID&sig\_method=SIG\_METHOD
挪用示例
curl -G 'https://api.weixin.qq.com/wxa/checksession?access_token=OsAoOMw4niuuVbfSxxxxxxxxxxxxxxxxxxx&signature=fefce01bfba4670c85b228e6ca2b493c90971e7c442f54fc448662eb7cd72509&openid=oGZUI0egBJY1zhBYw2KhdUfwVJJE&sig_method=hmac_sha256'
参数说明
参数必填说明
access_token是接口挪用凭证
openid是用户唯一标识符
signature是用户登录态署名
sig_method是用户登录态署名的哈希要领
buffer是托管数据,,类型为字符串,,长度不凌驾1000字节
返回效果
准确时的返回JSON数据包如下:
{"errcode":0,"errmsg":"ok"}
过失时的返回JSON数据包如下(示例为署名过失):
{"errcode":87009,"errmsg":"invalid signature"} 点击相识更多 小程序游戏开发教程。。。。
KESION pp电子软件
KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。。KESION 一直通过手艺立异,,提供产品和服务,,助力企业向数字化转型,,通过科技驱动商业刷新,,让商业变得更智慧!
"离线包"机制 微信 小程序 接纳的是类似离线包加载方案,,以 转转 小程序为例,,当用户第一次翻开时会先下载好所有代码,,然后再加载页面;;;当用户再次进入转转小程序时,,会直接使用...
什么叫微信 小程序 插件呢????作为移动端的程序员肯定很熟悉这么一个看法,,那就是开源库,,尤其是 Android 开发的时间使用 gradle 远程依赖开源库,,没错,,微信小程序插件就是相当于远程...