小程序
小游戏
企业微信
微信支付
扫描小程序码分享
请问小程序的登录状态一般要怎么处理和维护呀 有没有做过的可以给个指导 感激不尽
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你可能相信我说的话:
这个页面就是我从百度搜索点进来的。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
1 我司是登录状态是通过后端控制的
1) 首先有一个登录接口,入参为appid 和wx.login返回的code 返回参数为token openid 等,这个时候会把返回的信息存入
wx.setStorageSync(‘login’,xxxxx),
2) 封装用户请求,每次请求时会先去判断时候有缓存,如果缓存直接请求接口(要把token加到请求的header中,大家都懂得),如没有缓存要去查一下这个登录接口,等接口有返回值时,再去请求接口
3) token会有一个过期时间,如果遇到过期的请求,接口会返回一个状态码,如果出现这个状态码就要重新走一遍这个登录流程->接着请求接口
谢谢你的回复
请问像openid这种参数应该是处理过之后才返回前端的吧
自定义缓存的时间与wx.login()的缓存时间怎么同步? 比如自定义的缓存到期了而wx.login()的缓存还没有到期 或者相反,这个怎么实现两者同时过期或者同时有效?
我们以自己的token过期时间为主
搜嘎 谢谢你的回复
不不不, 通过wx.login()获取code 再拿到这个code去换取openid session_key 这些 我都已经做了 可是我想说的是 如何去维护这个登录状态 比如通过调用checkSession()可以获取用户是否登录,如何对登录的保持时间等进行维护?
对,,后续就是利用checkSession判断用户登录态是否过期
谢谢你的回复,我有个疑问点,我看过很多其他小程序的登录 ,似乎没有出现过登录失效的情况 ,但是如果调用wx.login()的时候是有失效时间的,如果失效了需要提醒用户重新登录,所以这块我不是太清楚是怎么进行维护的
在自定义登录态的时候你可以设置登录过期时间。。然后用户登录利用checkSession去查就行
因为官方接口返回的数据中有一个字段expires_in='7200' 如果自定义登录时间的话 需要怎么设置? 我不太清楚这块 不好意思
你要设置的是你自己生成的key的过期时间,加密的时候就可以设置
这个问题,你可以在百度上找到一堆文章和资料
我想问 如果后端获取到openid以及session_key之后 一般把什么数据返回到前端 openid? session_key? 在小程序的后续使用中 一般调用哪些接口会用到openid或者session_key
会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。
session_key
你已经获取到了openid和session_key..那你需要自定义一个key做为钥匙 ,返回给前台,然后前台每次登录,拿着这把钥匙去查session_key和openid
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你可能相信我说的话:
这个页面就是我从百度搜索点进来的。
1 我司是登录状态是通过后端控制的
1) 首先有一个登录接口,入参为appid 和wx.login返回的code 返回参数为token openid 等,这个时候会把返回的信息存入
wx.setStorageSync(‘login’,xxxxx),
2) 封装用户请求,每次请求时会先去判断时候有缓存,如果缓存直接请求接口(要把token加到请求的header中,大家都懂得),如没有缓存要去查一下这个登录接口,等接口有返回值时,再去请求接口
3) token会有一个过期时间,如果遇到过期的请求,接口会返回一个状态码,如果出现这个状态码就要重新走一遍这个登录流程->接着请求接口
谢谢你的回复
请问像openid这种参数应该是处理过之后才返回前端的吧
自定义缓存的时间与wx.login()的缓存时间怎么同步? 比如自定义的缓存到期了而wx.login()的缓存还没有到期 或者相反,这个怎么实现两者同时过期或者同时有效?
我们以自己的token过期时间为主
搜嘎 谢谢你的回复
不不不, 通过wx.login()获取code 再拿到这个code去换取openid session_key 这些 我都已经做了 可是我想说的是 如何去维护这个登录状态 比如通过调用checkSession()可以获取用户是否登录,如何对登录的保持时间等进行维护?
对,,后续就是利用checkSession判断用户登录态是否过期
谢谢你的回复,我有个疑问点,我看过很多其他小程序的登录 ,似乎没有出现过登录失效的情况 ,但是如果调用wx.login()的时候是有失效时间的,如果失效了需要提醒用户重新登录,所以这块我不是太清楚是怎么进行维护的
在自定义登录态的时候你可以设置登录过期时间。。然后用户登录利用checkSession去查就行
因为官方接口返回的数据中有一个字段expires_in='7200' 如果自定义登录时间的话 需要怎么设置? 我不太清楚这块 不好意思
你要设置的是你自己生成的key的过期时间,加密的时候就可以设置
这个问题,你可以在百度上找到一堆文章和资料
我想问 如果后端获取到openid以及session_key之后 一般把什么数据返回到前端 openid? session_key? 在小程序的后续使用中 一般调用哪些接口会用到openid或者session_key
会话密钥
session_key
是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。你已经获取到了openid和session_key..那你需要自定义一个key做为钥匙 ,返回给前台,然后前台每次登录,拿着这把钥匙去查session_key和openid