收藏
回答

小程序登录及状态维护

请问小程序的登录状态一般要怎么处理和维护呀  有没有做过的可以给个指导  感激不尽

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

4 个回答

  • Kizuna AI
    Kizuna AI
    2021-05-07

    你可能相信我说的话:

    这个页面就是我从百度搜索点进来的。

    2021-05-07
    有用
    回复
  • 微盟
    微盟
    2018-12-05

    1  我司是登录状态是通过后端控制的

    1) 首先有一个登录接口,入参为appid 和wx.login返回的code 返回参数为token openid 等,这个时候会把返回的信息存入

    wx.setStorageSync(‘login’,xxxxx),

    2) 封装用户请求,每次请求时会先去判断时候有缓存,如果缓存直接请求接口(要把token加到请求的header中,大家都懂得),如没有缓存要去查一下这个登录接口,等接口有返回值时,再去请求接口

    3) token会有一个过期时间,如果遇到过期的请求,接口会返回一个状态码,如果出现这个状态码就要重新走一遍这个登录流程->接着请求接口

        


    2018-12-05
    有用
    回复 3
    • 2018-12-05

       

       谢谢你的回复

      1. 请问像openid这种参数应该是处理过之后才返回前端的吧

      2. 自定义缓存的时间与wx.login()的缓存时间怎么同步? 比如自定义的缓存到期了而wx.login()的缓存还没有到期 或者相反,这个怎么实现两者同时过期或者同时有效?


      2018-12-05
      回复
    • 微盟
      微盟
      2018-12-06回复

      我们以自己的token过期时间为主

      2018-12-06
      回复
    • 2018-12-06回复微盟

       

       搜嘎  谢谢你的回复


      2018-12-06
      回复
  • 2018-12-05

    不不不,  通过wx.login()获取code 再拿到这个code去换取openid session_key 这些 我都已经做了   可是我想说的是 如何去维护这个登录状态 比如通过调用checkSession()可以获取用户是否登录,如何对登录的保持时间等进行维护?

    2018-12-05
    有用
    回复 8
    • ==
      ==
      2018-12-05

      对,,后续就是利用checkSession判断用户登录态是否过期

      2018-12-05
      回复
    • 2018-12-05回复==

       

       谢谢你的回复,我有个疑问点,我看过很多其他小程序的登录 ,似乎没有出现过登录失效的情况 ,但是如果调用wx.login()的时候是有失效时间的,如果失效了需要提醒用户重新登录,所以这块我不是太清楚是怎么进行维护的


      2018-12-05
      回复
    • ==
      ==
      2018-12-05

      在自定义登录态的时候你可以设置登录过期时间。。然后用户登录利用checkSession去查就行

      2018-12-05
      回复
    • 2018-12-05回复==

       因为官方接口返回的数据中有一个字段expires_in='7200'   如果自定义登录时间的话 需要怎么设置? 我不太清楚这块 不好意思

      2018-12-05
      回复
    • ==
      ==
      2018-12-05回复

      你要设置的是你自己生成的key的过期时间,加密的时候就可以设置

      2018-12-05
      回复
    查看更多(3)
  • ==
    ==
    2018-12-05

    这个问题,你可以在百度上找到一堆文章和资料

    2018-12-05
    有用
    回复 3
    • 2018-12-05

       

      我想问 如果后端获取到openid以及session_key之后 一般把什么数据返回到前端 openid? session_key? 在小程序的后续使用中 一般调用哪些接口会用到openid或者session_key


      2018-12-05
      回复
    • ==
      ==
      2018-12-05回复

      会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥


      2018-12-05
      回复
    • ==
      ==
      2018-12-05回复

      你已经获取到了openid和session_key..那你需要自定义一个key做为钥匙 ,返回给前台,然后前台每次登录,拿着这把钥匙去查session_key和openid

      2018-12-05
      回复
登录 后发表内容