第一次写,有错误可以留言哦 [ 微笑 ] ,希望可以帮助有需要的人~~
首先说一下我使用Laravel的版本为5.5
1.准备App Key,App Secret
使用之前首先要在微博开发平台里创建一个网站应用,这个应用就会生成App Key,App Secret两个值。后续在代码中使用。
微博开发平台地址:微博开发平台
创建成功进入应用就是下面这个样子:
image基本信息中填写信息。
在高级信息中还需要填写项目的回调地址。
2.安装
在window终端进入项目的根目录输入以下命令:
composer require socialiteproviders/weibo
(下载后一般路径都在 vendor/socialiteproviders/ )
3.添加 Service Provider
文件 config/app.php
如果之前添加过Socialite Provider需要先注释掉
然后添加图中那句:
SocialiteProviders\Manager\ServiceProvider::class,
image4. 添加 Facades Aliase
还是文件 config/app.php
添加:SocialiteProviders\Manager\ServiceProvider::class,
image5.添加事件处理
在 app/Providers/EventServiceProvider.php这个文件
image 'SocialiteProviders\Manager\SocialiteWasCalled' => [
'SocialiteProviders\Weibo\WeiboExtendSocialite@handle',
],
6. 配置文件 config/services.php 和 .env
下面的内容添加在 config/services.php 文件中:
// 微博
'weibo' => [
'client_id' => env('WEIBO_KEY'),
'client_secret' => env('WEIBO_SECRET'),
'redirect' => env('WEIBO_REDIRECT_URI'),
],
下面的内容添加到 .env 配置文件中:
WEIBO_KEY= //微博平台生成的
WEIBO_SECRET= //微博平台生成的
WEIBO_REDIRECT_URI=http://xxxxx/auth/callback //重定向地址
7.添加路由
Route::get('weibo', 'Auth\AuthController@weibo'); //引导用户到微博授权页面
Route::get('auth/callback', 'Auth\AuthController@callback'); //新浪微博授权成功后的回调页面
8.代码实现
文件 app/Http/Controllers/Auth/AuthController.php
public function weibo() {
return \Socialite::with('weibo')->redirect();
// return \Socialite::with('weibo')->scopes(array('email'))->redirect();
}
public function callback(Request $request) {
$oauthUser = \Socialite::with('weibo')->user();
var_dump($oauthUser->getId());
var_dump($oauthUser->getNickname());
var_dump($oauthUser->getName());
var_dump($oauthUser->getEmail());
var_dump($oauthUser->getAvatar());
return redirect('/');
}
最后:
如有错误,还望指正。
网友评论