微信小程序登录,获取code,获取openid,获取session_key
微信小程序登录
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"
}
}