关于使用 code 获取微信用户信息的疑问
try {
if ($code = $request->code) {
$response = $driver->getAccessTokenResponse($code);
$token = array_get($response, 'access_token');
// 为啥使用 code 的时候,获取到数据,不判断一下是否是weixin,然后通过 response 获取到 openid,赋值给 $driver?
} else {
$token = $request->access_token;
if ($type == 'weixin') {
$driver->setOpenId($request->openid);
}
}
}
下面是我修改的
try {
if ($code = $request->code) {
$response = $driver->getAccessTokenResponse($code);
$token = array_get($response, 'access_token');
if ($type == 'weixin') {
$driver->setOpenId(array_get($response, 'openid'));
}
} else {
$token = $request->access_token;
if ($type == 'weixin') {
$driver->setOpenId($request->openid);
}
}
$oauthUser = $driver->userFromToken($token);
}
推荐文章: