sas1024 / socialite-xenforo-bdapi
Laravel Socialite 用于 XenForo 的 [bd] Api OAuth2 提供者
v1.0.0
2017-08-27 21:54 UTC
Requires
- php: >=5.5.9
- socialiteproviders/manager: ^3.0
This package is auto-updated.
Last update: 2024-09-05 20:30:56 UTC
README
安装和配置
安装 Laravel Socialite(见这里:https://github.com/laravel/socialite/blob/2.0/readme.md)
在您的 XenForo 安装中安装 [bd] Api(见这里:https://github.com/xfrocks/bdApi)
安装 XenForo [bd] Api socialite 提供者
composer require sas1024/socialite-xenforo-bdapi
添加事件和监听器
将 SocialiteProviders\Manager\SocialiteWasCalled::class 事件添加到 <app_name>/Providers/EventServiceProvider 中的 listen[] 数组中,如下所示
/** * The event listener mappings for the application. * * @var array */ protected $listen = [ 'App\Events\Event' => [ 'App\Listeners\EventListener', ], SocialiteWasCalled::class => [ 'Sas1024\Socialite\XenForo\XenForoExtendSocialite@handle', ], ];
服务数组和 .env 文件
添加到 config/services.php
'xenforo' => [ 'client_id' => env('XENFORO_CLIENT_ID'), 'client_secret' => env('XENFORO_CLIENT_SECRET'), 'redirect' => env('XENFORO_CALLBACK_URL'), 'xenforo_url' => env('XENFORO_URL'), ],
将提供者值追加到您的 .env 文件中:**注意:请添加公钥和私钥**!
XENFORO_CLIENT_ID=
XENFORO_CLIENT_SECRET=
XENFORO_CALLBACK_URL=
XENFORO_URL=
示例
XENFORO_CLIENT_ID=kaupfd1fscx
XENFORO_CLIENT_SECRET=oAnW4NUK1iHLl58PjpQI
XENFORO_CALLBACK_URL=${APP_URL}/login/xenforo/callback
XENFORO_URL=http://xenforo-with-bd.local/forum/api/
用法
<?php namespace App\Http\Controllers\Auth; use Socialite; class AuthController extends Controller { /** * Redirect the user to the XenForo [bd] Api authentication page. * * @return Response */ public function redirectToProvider() { return Socialite::driver('xenforo')->redirect(); } /** * Obtain the user information from XenForo [bd] Api. * * @return Response */ public function handleProviderCallback() { $user = Socialite::driver('xenforo')->user(); } }
获取用户详情
一旦您有了用户实例,您可以获取更多关于用户的一些详细信息
$user = Socialite::driver('xenforo')->user(); $token = $user->token; $expiresIn = $user->expiresIn; $user->id; $user->avatar; $user->nickname; $user->email;