小程序登录状态保持(自有第三方账号)?

问题描述

 我看了小程序的wx.loginwx.checkSession,wx.login与其之后让后端去像腾讯提供的那个接口就是换取session_key,然后自己生成一个sessionid保持登录状态。 
 现在的情况是这样的,我们的项目最开始做的是web端,现在准备迁移到小程序上,这套系统有自己的账号密码,这样的话,可否我不用wx.login,wx.checkSession,这样是否合理(因为我不使用openid作为用户标识)?我的想法是在用户登录之后,从服务器取得的sessionid存到storage当中,然后用来设置头,但现在又面临一个问题,我可以封装一下wx.request加上判断session是否还有效了,但是没有openid的维持可能就需要用户重新登录,如果不想用户重新输入那么可能得storage存下账号密码重新发送一次?(是不是也还不是合理) 
 还有过一个比较合理的想法,就用wx.login来换取sessionopenid和我们系统的账号一一对应,之后登录直接用openid,
 以什么样的方式比较好解决这类问题?希望有人能够给我一些解答。


holdtom
浏览 3158回答 1
1回答

翻翻过去那场雪

抛弃openid这就最简单了,直接进入小程序后自己做个登陆注册页,登录注册完后台有个sessionid返回来,给小程序放wx.request的header中。后台每次都在请求的header中拿sessionid,有效就继续,没效或没有就返回相应信息去给小程序重新登陆。不过小程序的好多功能的用不了。注册页麻烦要填写好多东西。不推荐原有系统扩展兼容openId。如果已经注册了,就给加上openid,直接把当前用户生成的sessionid返回给小程序就好了。如果没注册,就创建了新用户,用户名密码都为手机号,opendi对应存起来,然后再生成sessionid返回给小程序就好了。新建个表存用户openId,关联用户表。小程序 wx.login + 用户信息 + 手机号码 =》 给后台得到:openid,用户信息,手机号码。根据手机号码查数据库当前手机号码是否已注册。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript