小程序
小游戏
企业微信
微信支付
扫描小程序码分享
目前小程序是通过 wx.login 获取的 code, 然后通过 code 与后台交互, 通过 appId + appSecret + code 获取 openID
就 openId来讲, 微信客户端应该能直接做到通过 code + 小程序标识 来获取openId, 为什么还要通过服务端
我目前想到的一个原因是 "服务端拥有登录态" , 是否还有其他原因
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
无意中看到这个问题,简单回答下,用户在微信登录成功,如果直接把opendid给小程序,然后小程序把账号设置为登录状态,这里存在风险假设其他人知道了你的opendid就可以直接登录你的账号了,而且后续可以一直登录你的账号。
用code的方式,假设别人通过网络监听知道了这次code,也只有这一次有效,因为code只有短时间有效,而且每次都会变,降低了风险。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
为了安全起见,小程序域名不能配置成api.weixin.qq.com,所以前端调不了接口。
保存在前端???铭感信息 存前端??
一直就是前端保存的飘过。
我能想到的是安全机制考虑
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
无意中看到这个问题,简单回答下,用户在微信登录成功,如果直接把opendid给小程序,然后小程序把账号设置为登录状态,这里存在风险假设其他人知道了你的opendid就可以直接登录你的账号了,而且后续可以一直登录你的账号。
用code的方式,假设别人通过网络监听知道了这次code,也只有这一次有效,因为code只有短时间有效,而且每次都会变,降低了风险。
为了安全起见,小程序域名不能配置成api.weixin.qq.com,所以前端调不了接口。
保存在前端???铭感信息 存前端??
1.openId 是微信开发平台下的每个应用的用户唯一标识,比如小程序和公众号(同一个用户的openId是不同的,但是可以通过unionid来标识标识为同一个用户)
2.技术上是可以实现 前端通过 code + 小程序标识,来换取openId,这样就相当于拿到了应用的用户标识,其他开发者可能会把 openId作为自己应用的唯一标识,对于正常使用者,没啥风险。但是网络上未必都是正常的开发者,安全漏洞无处不在,这样任何一个非法制就能绕开拿到用户唯一标识,潜在分享风险非常大。
3.通过代理码可以抓取到微信小程序的任何明文请求,如果有些系统没有处理安全漏洞问题,如果前端就能获取到openid,无疑又一次放大了风险
4.如果通过服务器解密获取openId,之前增加了获取openId的难度,降低了风险。
都是出于安全考虑和之前的设计考虑的。
未来可能也会放开,之前通过 code + 小程序标识无法获取unionid,但现在就可以。
没有什么是不变的,只是当前这样成本更低,更适合而已
一直就是前端保存的飘过。
我能想到的是安全机制考虑