收藏
回答

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

框架类型 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页面访问无需再次授权。

回答关注问题邀请回答
收藏

7 个回答

  • 洋葱头
    洋葱头
    2018-02-05

    是的

    2018-02-05
    有用
    回复
  • 洋葱头
    洋葱头
    2018-02-05

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


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

    2018-02-05
    有用
    回复
  • ruiven学文
    ruiven学文
    2021-05-28

    完全不作为?这么常见且重要的功能都不愿意支持一下,小龙知道吗?

    2021-05-28
    有用 1
    回复
  • 时分秒
    时分秒
    2019-09-19

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

    2019-09-19
    有用
    回复
  • 郑诚-手术后在家静养中
    郑诚-手术后在家静养中
    2018-11-09

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

    2018-11-09
    有用
    回复
  • AL苏长利
    AL苏长利
    2018-08-14

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

    2018-08-14
    有用
    回复
  • 饭饭
    饭饭
    2018-02-05

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


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

    2018-02-05
    有用
    回复
登录 后发表内容