收藏
回答

openid可以直接暴露到业务层面请求接口吗

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.login 工具 6.6.7 2.0.4

后端同事希望省去登录时加解密的过程,直接传递openid并且用openid直接请求各种业务接口。 作为前端,我查了很多地方又没办法告诉他这个为什么不安全。

想请问一下官方团队,

这样做是否安全,

为什么。

回答关注问题邀请回答
收藏

6 个回答

  • Special
    Special
    2018-07-10

    作个比如,在 Web 开发,直接用 username 作为用户凭证请求接口,觉得安全吗?


    自定义第三方 sessionid,业务后台可以设定过期时间,直接用 openid 作为 sessionid,最明显一个缺点就是无法设定过期时间,一旦被中间截获了 openid,则可以一直利用。

    2018-07-10
    有用 4
    回复 1
    • 小肥羊🍊
      小肥羊🍊
      2019-12-23
      学习了,非常感谢。
      2019-12-23
      回复
  • 龙风
    龙风
    2019-12-24

    小明同学很稀罕同桌小花,有天看到小花在某个微信公众号写日记,好巧,猥琐的小明看到并记住了小花的开屏密码。等课间小花同学出去时,将她手机开机并打开了那个公众号,进入了个人中心。

    哎呀,时间不够看呀,于是选择了用浏览器打开看到了URL。


    你说巧不巧,这个站竟然在URL里有个openid的传值,没有登陆鉴权。


    小明用他无比迅捷的手速把url发给了自己的号,还不着痕迹地打扫了战场。


    以后的日子里,小明时刻都能通过点击那个url翻看小花的日记,真是爽煞,发起了向女神攻心的神级技能。

    2019-12-24
    有用 15
    回复 1
    • 小肥羊🍊
      小肥羊🍊
      2019-12-24
      好友画面感,这一个赞肯定不够。。
      2019-12-24
      回复
  • 兴兴
    兴兴
    2020-05-13

    小程序第一次会给一个临时code,再让后端去做获取openid,本意就是不想让前端直接获取到openid,openid如果被截获,那就不安全。如果openid给前端没什么关系,那为什么不直接就让前端获取到openid,还多此一举搞一个只能消费一次的code。

    2020-05-13
    有用 2
    回复
  • momo
    momo
    2023-08-04

    实际上如果openid仅作为身份标识,形如userid那样,可以暴露出来,但如果用作鉴权肯定是不行的,如果非得拿来鉴权那就用云数据,然后配置安全规则。

    2023-08-04
    有用 1
    回复
  • 2018-07-10

    用openid去请求接口,为什么不安全呢,感觉没什么问题

    2018-07-10
    有用 1
    回复
  • zhaizy
    zhaizy
    2019-11-18

    如果使用openid实现自动登录呢?

    2019-11-18
    有用
    回复
登录 后发表内容