已解决:微信小程序授权登录获取openid无法在真机上获取到

返回错误信息显示:微信小程序 https://api.weixin.qq.com 不在以下 request 合法域名列表中

同时,在小程序后台配置域名列表也行不通

这是因为是微信禁止将开发者密码放置在前端代码中!!!!只能通过后端调用获取实现。

如果没有自己的服务器,这就没有办法了,只能选择去购买服务器和使用微信的云托管。

如果你有服务器,后台使用的是PHP代码,就可以参考我的PHP代码:

if($_GET['code']){

//获取用户的openId
    $openId=getwxopenId();
//执行业务代码...
}
function getwxopenId(){
    $appid = 'xxxxxxxxxxxxxx'; // 小程序id
    $secret = 'xxxxxxxxxxxxxx'; // 密钥
    $code = $_GET['code']; // 从前端传递的code值
    $url = "https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code";
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($response, true);
    $openid = $result['openid'];
    return $openid;
}

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注