收藏
回答

小程序webview内嵌H5页面登录认证问题

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 wx.login 微信iOS客户端 iOS 6.6.2 1.9.1

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



* 你希望有什么能力?

希望小程序可以读写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页面访问无需再次授权。

最后一次编辑于  2018-02-05  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 林超
    林超
    2018-02-05

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


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

    2018-02-05
    赞同
    回复
  • 饭饭
    饭饭
    2018-02-05

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


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

    2018-02-05
    赞同
    回复
  • 林超
    林超
    2018-02-05

    是的

    2018-02-05
    赞同
    回复
  • AL苏长利
    AL苏长利
    2018-08-14

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

    2018-08-14
    赞同
    回复
  • 郑诚(Zheng Cheng)
    郑诚(Zheng Cheng)
    2018-11-09

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

    2018-11-09
    赞同
    回复