Taro H5端微信授权链接获取code,回调页面通过this.$router.params获取不到参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Taro H5端微信授权链接获取code,回调页面通过this.$router.params获取不到参数相关的知识,希望对你有一定的参考价值。

参考技术A https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#0 微信授权登录的官方步骤,目前做第一步请求获取code,微信会回调访问redirect_uri 将code返回接口,我们在页面componentWillMount() 中this.$router.params是获取不到的

我们预想的回调结果是这样的:(避免敏感信息,我把请求域名换成了localhost)
http://localhost:10086/#/pages/identification/identification?code='xxxxx'
实际返回的结果是这样的:
http://localhost:10086?code=071UBEge2snGkI0Szxhe2BPNge2UBEgU&state=123#/pages/identification/identification
这就是导致获取不到的根本原因,
目前解决办法只能解析地址路径的方式获取code

默认是 hash 的路由方式,这样的 #/page/xx/xx ,我们可以修改成 browser 的路由方式可以去掉 #

微信授权

 

  ① 在微信公众平台配置相关信息,

  技术图片

  url和token由后台配置,域名要和url的域名保持一致

  然后在体验接口权限表里找到网页账号-网页授权获取用户基本信息,点击修改:

技术图片

  配置授权回调的域名,与上面域名一致,配置成功会有通过安全监测的提示

技术图片

  ②获取code:

    进入授权页面,

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect//若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

     使用code通过下面接口换取信息: 

get请求(后台)

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&token=&lang=zh_CN

 

 

 

  授权接口请求参考:

  https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&token=&lang=zh_CN

技术图片

  ③授权成功后的code会议http://www.baidu.com?code=‘‘的形式返回,code每一次都是不同的

    可以使用code通过接口获取用户信息,以json格式返回:

技术图片

参考链接:

https://blog.csdn.net/myhuashengmi/article/details/52671273

https://blog.csdn.net/hxf6060/article/details/88171869

 

以上是关于Taro H5端微信授权链接获取code,回调页面通过this.$router.params获取不到参数的主要内容,如果未能解决你的问题,请参考以下文章

h5页面获取微信授权登录

小程序内嵌H5公众号授权

微信开发系列——公众号内嵌H5页面获取code,拿到openID

H5怎么实现调用微信登录?

uni-app app端微信登录

H5微信授权登录流程