/**
* 发起网页授权(非静默授权)
* 使用了 easywechat 没用过的自行看下官网文档 https://www.easywechat.com/
* @user AarthiModoo
* @time 2020-01-09 10:54:10
* @param Request $request
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function oauth(Request $request)
{
$config = [
'app_id' => env('WECHAT_APPID', '*****'), // AppID
'secret' => env('WECHAT_SECRET', '******'), // AppSecret
'token' => env('WECHAT_TOKEN', '*****'), // Token
'aes_key' => env('WECHAT_AES_KEY', '*****'), // EncodingAESKey
'log' => [
'level' => 'info',
'file' => storage_path('logs/wechat.log'),
],
'use_laravel_cache' => true,
'debug' => true,
'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => '/weixin/webcallback/',
]
];
$config['oauth']['callback'] = 'oauth/callback'; // 修改回调地址 * 需要同域,并且域名是在公众平台配置的
$app = Factory::officialAccount($config);
$oauth = $app->oauth;
return $oauth->redirect(); // 去往回调
}
/* *
* 授权回调方法
* @user AarhiModoo
* @time 2020-01-09 10:54:06
* @param Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Laravel\Lumen\Http\Redirector
*/
public function oauthCallback(Request $request)
{
$config = [
'app_id' => env('WECHAT_APPID', '*****'), // AppID
'secret' => env('WECHAT_SECRET', '******'), // AppSecret
'token' => env('WECHAT_TOKEN', '*****'), // Token
'aes_key' => env('WECHAT_AES_KEY', '*****'), // EncodingAESKey
'log' => [
'level' => 'info',
'file' => storage_path('logs/wechat.log'),
],
'use_laravel_cache' => true,
'debug' => true,
'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => '/weixin/webcallback/',
]
]; // 微信公众号授权配置文件
$app = Factory::officialAccount($config);
$user = $app->oauth->user(); // 获取 OAuth 授权结果用户信息
$unionid = $user['original']['unionid']; // 该用户唯一标识(不会变)
/*
* 授权完成后写逻辑,数据存库。同时记录登录标识等信息
* */
// 重定向到要去的页面
$redirectUrl = 'https://blog.csdn.net/yang_yun_hao/';
return redirect($redirectUrl);
}