这里可以算是钻了个空子。
因为我们本身在微信认证的网页授权域名的80端口已经有了一个服务,而且不能变动。
之后需要做一个用户ERP账号和微信openid绑定的接口,就重新做了个一个页面,东西都做好了,但是微信的网页授权调用地址必须是80端口,所以这样一来,端口就被占用了,每次调用微信code就失败,也无法获取其openid和access_token。
想到公众号界面按钮,填写回调域名的时候虽然端口不能指定,但是页面文件可以指定——就在原来的页面上新增了一个“转接页面”:app.aspx,里面重定向到新页面,同时将code参数复制传给新页面,这样一来就实现了非80端口也能调用网页授权。
因为网页地址对应的就是磁盘文件位置,这里指定非默认首页:app.aspx页面。页面内容是:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
</head>
<body style="color:gray;margin:0px;text-align:center;padding-top:20%">
<script type="text/javascript">
var url = ‘http://www.测试.net:8092/测试‘;
<!--这里就将页面重定向到新页面,同时带入原有参数-->
var search = window.location.search;
if (search){
if (url.indexOf("?") != -1){
url += "&";
}else{
url += "?";
}
url += search.substr(1) + window.location.hash;
}
window.location.href= url;
</script>
</body>
</html>