在开发小程序的过程中,登录是一个入口场景,基本每个开发者都会遇到,
那么在开发过程中,我们知道
既然openid是唯一的,那我为什么不能用openid作为凭证,还要麻烦的用个第三方session
其实我之前也一直不明白,今天看了下面这个例子,顿时豁然开朗
有可能造成数据越权。
比如今天我通过我的手机登录了微信,打开了小程序。但是明天有个朋友想用我的手机登一下微信。如果用openid作为登录凭证,登录小程序的时候检测到openid已经存在,所以不会再走登录过程,这样我的数据就让我的朋友看到了。所以还是要按照官方推荐的步骤来。
### 20191224
https://developers.weixin.qq.com/community/develop/doc/0002a028214de86e94079941551800
小明同学很稀罕同桌小花,有天看到小花在某个微信公众号写日记,好巧,猥琐的小明看到并记住了小花的开屏密码。等课间小花同学出去时,将她手机开机并打开了那个公众号,进入了个人中心。
哎呀,时间不够看呀,于是选择了用浏览器打开看到了URL。
你说巧不巧,这个站竟然在URL里有个openid的传值,没有登陆鉴权。
小明用他无比迅捷的手速把url发给了自己的号,还不着痕迹地打扫了战场。
以后的日子里,小明时刻都能通过点击那个url翻看小花的日记,真是爽煞,发起了向女神攻心的神级技能。
### 20200107
更新:下面这个文章有说明为什么不用openid作为登录态
https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009
Q2: 既然用户的openId是永远不变的,那么开发者可以使用openId作为用户的登录态么?
A:行,这是非常危险的行为。因为openId是不变的,如果有坏人拿着别人的openId来进行请求,那么就会出现冒充的情况。所以我们建议开发者可以自己在后台生成一个拥有有效期的第三方session来做登录态,用户每隔一段时间都需要进行更新以保障数据的安全性。
问题还是服务端怎么验证得到的openid, 是真实用户通过微信api获取并传输的, 而不是某个恶意用户, 伪造了别人的openid直接调用接口的.
求教!
如果A用户用自己的手机登陆微信小程序拿到的openid是1234,B用户用自己的手机登陆微信小程序拿到的openid是4321,请问B用户用A用户的手机登陆微信进入小程序拿到的openid是什么?
看了很多文章,一头雾水,我想问各位大佬一个问题:我的用户已经授权了openid已经拿到,但是登录用户过期了需要重重登录,我怎么拿cookie中的openid 来给他自动登录
更新:下面这个文章有说明为什么不用openid作为登录态
https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009
Q2: 既然用户的openId是永远不变的,那么开发者可以使用openId作为用户的登录态么?
A:行,这是非常危险的行为。因为openId是不变的,如果有坏人拿着别人的openId来进行请求,那么就会出现冒充的情况。所以我们建议开发者可以自己在后台生成一个拥有有效期的第三方session来做登录态,用户每隔一段时间都需要进行更新以保障数据的安全性。
openid是用户id(与微信账号一一对应的),也可以做个login用账号密码登录。
token啊和过期时间
嗯,你把密码告诉他好了 ^_^,可能他其实是想看下支付宝能不能转账
走不走登录流程和openid有啥关系?你都让你朋友用你的微信了,你还怕泄露啥?
所以你是不会用login吗?