今天遇到了一个比较麻烦的问题,因为该需求需要我返回微信用户的openid并且把openid放在url中返回。
因为一般要获取用户的openid是非常容易的,只需要在你的微信公众号上绑定你自己对应的域名,那么在后台就很可以直接在request中直接获取。
但是问题就在于此,那个项目的回调域名已经被用完了,而我们使用的是新的域名,去申请一个新的回调域名权限比较麻烦,所以我就使用了中间页的方式,虽然多了一次请求。但是满足了多个域名使用同一个微信号进行网页授权。在实际的使用过程中,我们将get-weixin-code.html页,放在了域名所在的服务器上。经测试,跳转都在毫秒级完成,用户几乎无感知。
然后你需要获取openid的地址可以这样设置
https://A.example.com/get-weixin-code.html?appid=XXXX&scope=snsapi_base&state=hello-world&redirect_uri=https%3A%2F%2FB.example.com%2Fgame
A.example.com为已经有的回调域名
B.example.com为新的要加入的域名
get-weixin-code.html需要放在服务器的根域名下
https://A.example.com/get-weixin-code.html
get-weixin-code.html的代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>微信登录</title>
</head>
<body>
<script&