(1)由于微信OAuth2中使用snsapi_userinfo会在我司自己用HBuilder开发的APP内弹出微信授权页面。我们技术部这边测试了snsapi_base的scope却返回“Scope参数错误或没有Scope权限”。因为snsapi_base是静默调用微信服务器;会改善用户体验。是否可以开放这个scope?谢谢。
(2)不管在manifest.json文件里面配置微信的appsecret还是在plus.oauth对象里面调用login方法的是传入包括appsecret的json格式数据,都是将appsecret暴露在前端。使用修改apk文件后缀的方法就直接解压了安卓包。是否可以有更加安全的方法不保存appsecret在前端?例如当我们传入redirect_uri参数的时候可以正常跳回到我司自己的服务器上并成功得到code和state参数。这样我司就可以直接在我司自己的服务器使用code、state、和appsecret进行后端操作,包括写openid等。这样就成功在APP内利用微信的OAuth2进行权限认证了。希望HBuilder能够认真对待这个问题;让HBuilder越做越好。PS:强调将appsecret保留在后端是微信官网强调的:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_CN
1、Appsecret 是应用接口使用密钥,泄漏后将可能导致应用数据泄漏、应用的用户数据泄漏等高风险后果;存储在客户端,极有可能被恶意窃取(如反编译获取Appsecret);
2、access_token 为用户授权第三方应用发起接口调用的凭证(相当于用户登录态),存储在客户端,可能出现恶意获取access_token 后导致的用户数据泄漏、用户微信相关接口功能被恶意发起等行为;
3、refresh_token 为用户授权第三方应用的长效凭证,仅用于刷新access_token,但泄漏后相当于access_token 泄漏,风险同上。
建议将Appsecret、用户数据(如access_token)放在App云端服务器,由云端中转接口调用请求。
MartinYip
这么重要的安全问题都不重视,都二年多了,难道hbuilder做不下去了?
2019-07-30 19:31