关于同主体下两个小程序单点登陆问题?
发布于 6 年前 作者 juanren 1449 次浏览 来自 官方Issues

公司有两个小程序,希望其中一个小程序有个入口可以直接跳转到第二个小程序,两个小程序都是同一个主体,并且在开放平台上有绑定,两个小程序都可以单独使用。如果用户没有关注公众号,需要在第一个小程序登陆后,进入第二个小程序不需要再次登陆。

有没有办法做到其中一个小程序登陆后,另外一个小程序不用登陆?

想用unionid来区分唯一,如果第一个小程序已经登陆过了,用户第一次从第一个小程序跳转到第二个小程序,第二个小程序里是拿不到unionID的,请问有这种问题的解决办法吗?

现在想到的方式是:如果直接在跳转navigateToMiniProgram到第二个小程序的时候将第一个小程序的登陆过后的unionID和session传给第二个小程序,做成无状态session,但是会有一个问题,下次用户直接进入第二个小程序,就没法拿到unionID,还是需要重新登陆。想在第二个小程序里用wx.setStorage设置缓存将传过来的unionid保存下来,下次进来就能拿到unionid,不知道是不是合理的解决方法,感觉安全风险很高。

大家有没有好的解决方案,官方有没有好的方案?感激不尽!

2 回复

因为unionId机制的问题,获取unionId有好几种情况,统、同一公众号下的小程序,如果关注了公众号,是可以在静默登录wx.login去获取到unionId的,如果没有关注,不能直接通过wx.login跟微信服务器交互获取到unionId。那么,建议就是走换取unionId的那个机制,增加一道授权,解密得到unionId,然后配合后台进行用户的绑定等操作;

回到顶部