小程序webview内嵌H5页面登录认证问题
发布于 5 年前 作者 changxiulan 16543 次浏览 来自 问答

咨询一个问题或者提一个需求。

* 你希望有什么能力?

希望小程序可以读写web-view cookie的能力,或者H5页面能够访问小程序的storage。

* 你需要这个能力的场景是 ?

  1. 小程序绑定服务号S

  2. 小程序登录后,获取code和union_id,这样可以登录业务系统【小程序中】

  3. 小程序内嵌web-view,访问业务系统m.xxx.com(后台已经配置业务域名),此时业务系统m.xxx.com无法获取小程序的登录状态。此时又需要用户登录一次,体验太差。

我们的业务系统m.xxx.com使用了服务号S来登录,如果用户【关注】了我们的服务号S,那么就可以自动授权登录,在小程序的H5页面里面也能自动登录,完美+10086.

但是,现在需求是【未关注服务号】的用户在小程序里面已经登录了,此时web-view内嵌的H5页面无法通过服务号S的appId和secret_key来获取用户的union_id,也就不能自动登录,需要用户输入我们的业务系统的用户名和密码来登录,体验太差了。

我使用【小程序的appId和secret_key】 来访问

https://open.weixin.qq.com/connect/oauth2/authorize,期望获得union_id,结果失败,提示:

redirect_uri 参数错误。注意,我只是把服务号的appId和secret_key换成小程序的appId和secret_key。使用服务号的appId和secret_key来授权登录是没问题的。


【期望】web-view有一个途径可以获取小程序的登录状态,或者将小程序的登录状态写入web-view的cookie中。



一句话总结:系统在小程序登录后,内嵌的H5页面访问无需再次授权。

6 回复

请问楼主的问题现在有更好的解决方案了么

web-view中的oauth还是需要使用服务号的 不是使用小程序的

而后通过unionid是可以关联到同一用户 满足你的需求

我也期望,可以把小程序的登录太能够写到webview里面去,其实就和ios和android客户端一样,可以无缝的写到webview的cookie里,现在小程序的webview限制的过于死板,只能通过在url后面传参的方式传递数据,都无法进行了,在一些android手机上操作cookie失败。太鸡肋了。。。。

楼主问题解决了吗?怎么解决的?

也就是说用户【依然】需要关注服务号才能静默授权获取到union_id?

现在的情况是用户直接打开小程序,没有关注服务号,导致无法获取到union_id。

回到顶部