收藏
回答

wx.checkSession有必要使用吗?

框架类型 终端类型 操作系统 微信版本 基础库版本
小程序 客户端 iOS latest latest
  1. 微信服务器的session有效期和服务器本地session的有效期不可能保持完全一致,这在拉取服务器用户数据时候会存在问题。

  2. 看到的一个文档的文字:


    因为session也存在有效,一旦我们请求业务的CGI后台判断登录态失效了,那么前端可以根据后台返回的错误码来判断是否重新登录。

    所以就没有必要每次wx.checkSession,而且wx.checkSession几乎是没有用的到必要,因为登录态可以由我们业务维护,一旦失效,wx.login()重新换回一个session_key 就ok了嘛。

    结论是:wx.checkSession几乎没有必要调用,而且他本身耗时,长达300+ms。



有人解答下吗

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

28 个回答

  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-01

    如果仅仅利用微信wx.login做快速登录 确实是不需要用到checkSession的,只要自己维护好自己的登录态即可。


    如果需要算数据签名等流程 需要用到session_key时,此时用checkSession检查其是否过期会对流程有一定的性能优化。


    这里我们的文档写得比较模糊,我们后续改进。

    2018-02-01
    有用 4
    回复 3
    • 假如失去光明
      假如失去光明
      2020-09-26
      你好,问一下,session_key存放在小程序缓存里面安全吗
      2020-09-26
      回复
    • 
      2023-08-31
      都2023年8月31日了,文档怎么还没更新
      2023-08-31
      3
      回复
    • 嘻嘻
      嘻嘻
      03-19
      文档说checkSession 是一个限频接口,那如果我在支付(wx.requestMidasPayment)调用前先调用一下checkSession,这会不会存在问题?
      03-19
      回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-01

    @6楼 是可以这么做的,如果想要更好的性能,就在需要用到sessionKey的时候用checkSession

    2018-02-01
    有用 2
    回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-01

    没搞懂你的意思。


    总之,如果你只是用 wx.login 做快速登录你们自己的账号这个事情的话,可以不用管checkSession。


    只有你们后台需要使用微信的session_key这个字段时 你们才要关心checkSession

    2018-02-01
    有用 1
    回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-05
    1. onshow之后等一下getuserinfo完成再setdata。

    2. 右上角是不能自定义的,开发者可以在页面其他合适的区域放按钮,目前小程序支持全屏,所以开发者可以在左上角放按钮(配置是 window navigationStyle = custom)

    2018-02-05
    有用
    回复 2
    • 刘照云| Ξ
      刘照云| Ξ
      2019-02-22

      微信 wx.checkSession 这个方法设计的很诡异,session_key 是在服务器端用的,但是这个check 方法是在客户端用的,难道每次还要在客户端和服务器端来回跑吗?标准的 OAuth 设计中,都是在服务器端做的。

      2019-02-22
      2
      回复
    • 慕澜彧
      慕澜彧
      2023-03-28
      检查不用拉取,过期后重新执行登陆,服务端重新获取登录的session_key等值,还是在开发者的服务器上
      2023-03-28
      回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-05

    @15楼,你这样说有点模糊,为了便于我们改进,能具体说说哪些API没有逻辑性吗?举点例子说明为什么没有逻辑性

    2018-02-05
    有用
    回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-02

    @10楼,session概念没有问题,你可能需要自己再去理解一下。

    2018-02-02
    有用
    回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-02-02

    @8楼,可以直接说一下你的问题

    2018-02-02
    有用
    回复
  • 杨泉
    杨泉
    2018-02-02

    引用一下:


    没搞懂你的意思。


    总之,如果你只是用 wx.login 做快速登录你们自己的账号这个事情的话,可以不用管checkSession。


    只有你们后台需要使用微信的session_key这个字段时 你们才要关心checkSession



    就是这个意思,checksession只是微信自己对于用户auth之后的一个状态管理,有效期内就可以用session_key调起一些接口,反之则需要刷新session_key。


    如果自己维护用户的token及登陆这一些,checksession无所谓的事情了

    除非你服务端需要用session_key时候,(比如获取用户绑定的手机号),你需要checkSession,不过期就无所谓,过期了就重新login一下,给后台code换新session_Key


    2018-02-02
    有用 1
    回复
  • Lange
    Lange
    2018-03-07

    mark

    2018-03-07
    有用
    回复
  • 辂尘
    辂尘
    2018-02-06

    picker的确定按钮样式如何改变?只能用view-picker吗

    2018-02-06
    有用
    回复

正在加载...

登录 后发表内容