微信小程序授权登录
1、安装依赖
composer require overtrue/laravel-wechat:~5.0
2、授权登录
/**
* 授权
* @param Request $request code
* @param Request $request encryptedData
* @param Request $request iv
*/
public function authorize(Request $request)
{
$wxtool = new Wxtool();
$code = $request->code;
$encryptedData = $request->encryptedData;
$iv = $request->iv;
//获取用户openid 和 session_key
$res = $wxtool->GetSessionKey($code);
if(!empty($res)){
if(isset($res['openid'])){
$session_key = $res['session_key'];
//获取用户详细信息
$userinfo = $wxtool->GetUserInfo($encryptedData,$iv,$session_key);
if($userinfo) {
$userinfo = json_decode($userinfo);
//用户信息
retrun $userinfo;
}
}
}
}
3、静默登陆
/**
* 静默登陆
* @param Request $request 小程序code
* @return \Illuminate\Http\JsonResponse
*/
public function silentLogin(Request $request)
{
$wxtool = new Wxtool();
$code = $request->code; // 小程序code
$res = $wxtool->GetSessionKey($code);
if(!empty($res)) {
if (isset($res['openid'])) {
//根据openid进行新增用户操作
}
}
}