时间: 2018-02-22|661次围观|1 条评论

其实说微信官方说的很简单,当你前端发送code到后台然后调用腾讯的api再返回session_key和openid时,不要直接返回到客户端(小程序)。而是让你自己生成一个随机数作为键,session_key+openid作为值,通过php自己设置一个session,然后保存到memache或redis。

 

 

$key = $this->session_3rd(128);
$value = $res['session_key'] . $res['openid'];

session_start();
if (!isset($_SESSION[$key])) {
$_SESSION[$key] = $value;   //记得设置失效时间,我就不写了
}

private function session_3rd($len) {
$fp = @fopen('/dev/urandom', 'rb');
$result = '';
if ($fp !== FALSE) {
$result .= @fread($fp, $len);
@fclose($fp);
} else {
trigger_error('Can not open /dev/urandom.');
}
$result = base64_encode($result);
$result = strtr($result, '+/', '-_');
return substr($result, 0, $len);
}
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《微信登入生成3rd_session
   

已经有1 人抢在你前面了~

  1. 陶小陶不是陶 7年前 (2018-03-11)

    是可以留言的