buerxiaojie / laravel-oauth
oauth for laravel. for example, QQ, wechat, github..
1.1.2
2017-08-17 09:44 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: ~6.0
- illuminate/support: 5.3.*||5.4.*
This package is auto-updated.
Last update: 2025-02-10 12:50:03 UTC
README
(一)安装
1. 安装:
composer require buerxiaojie/laravel-oauth
2. 注册:
在 config/app.php
文件的 providers
数组中加入:
Buerxiaojie\Providers\OauthServiceProvider::class,
在 config/app.php
文件的 aliases
数组中加入:
'OauthUser' => Buerxiaojie\Facades\Oauth::class,
在 app/Providers/AuthServiceProvider.php
文件的 boot
方法中加入:
use Buerxiaojie\Oauth; Oauth::routes();
3. 生成配置文件:
php artisan vendor:publish
(二)配置
在 config/oauth.php
文件中配置以下:
/** * 加入以下 * */ 'qq' => [ 'app_id' => 'YOUR APP ID', 'app_secret' => 'YOUR APP SECRET', ], 'wechat' => [ 'app_id' => 'YOUR APP ID', 'app_secret' => 'YOUR APP SECRET' ]
(三)使用
1. 在QQ ,微信等平台注册账号,并将回掉地址修改为{YOUR HOST}/oauth/oauth-callback
:
2. 在app/Oauth/Hander.php
文件的handle
方法中进行获取用户信息之后的逻辑处理:
/** *业务处理 */ public function handle() { //$oauthUser 即为获取的用户信息 $oauthUser = OauthUser::userInfo(); /** *业务处理 */ }
3. 添加新的server
。
1. 运行一下命令生成server
类
php artisan make:oauthServer Github
app/Oauth/Servers/Github.php
即可生成。填充相应的方法即可。
2. 在 config/oauth.php
文件中配置以下:
/** * 加入以下 * */ 'servers' => [ 'github' => 'App\Oauth\Servers\Github', ], 'github' => [ 'app_id' => 'YOUR APP ID', 'app_secret' => 'YOUR APP SECRET', ]
3. 在页面中放置请求链接:
<a href="/oauth/oauth-login?server=github"><img src=""></a>
4. 若自定义回掉地址,则在对应的回掉方法中通过以下方法获取用户信息:
use OauthUser; public function oauthCallback(Request $request) { $userInfo = OauthUser::getUserInfo($request); /** * 其他业务逻辑 */ }