zl程序教程

您现在的位置是:首页 >  工具

当前栏目

微信小程序登录,获取code,获取openid,获取session_key

微信code程序 获取 登录 Key session OpenID
2023-09-27 14:24:29 时间

微信小程序登录

wx.login(Object object)

调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。

code 换取 session_key

这是一个 HTTPS 接口,开发者服务器使用登录凭证 code 获取 session_key 和 openid。其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。
接口地址:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

这个操作可以后台来调取,也可以前台来调取。

public function get_openid(){
    $param = [
        'appid'     => $_GET['appid'],
        'secret'    => $_GET['secret'],
        'js_code'   => $_GET['js_code'],
        'grant_type'=> $_GET['grant_type']
    ];
    $url    = 'https://api.weixin.qq.com/sns/jscode2session?';
    $url    .= 'appid='.$param['appid'].'&secret='.$param['secret'].'&js_code='.$param['js_code'].'&grant_type='.$_GET['grant_type'];
    $result = json_decode(Http::doGet($url,300),true);

    $this->json->setAttr('data',$result);
    $this->json->Send();
}
{
    "errno": 0,
    "errdesc": "",
    "data": {
        "session_key": "WFFpxZkfvg0xPjZ6oI7YzA==",
        "openid": "ooBzj5Ot2GmNgty-tKtkT567aGiM"
    }
}