纵有疾风起
人生不言弃

微信登入生成3rd_session

其实说微信官方说的很简单,当你前端发送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. #1

    是可以留言的