mrstebo / laravel-socialite-xero
Laravel Socialite 的 Xero OAuth2 提供者
v0.1.3
2020-07-24 08:13 UTC
Requires
- php: >=7.0.0
- laravel/socialite: ^4.0
- lcobucci/jwt: ^3.3
This package is auto-updated.
Last update: 2024-09-25 05:00:35 UTC
README
Laravel Socialite 的 Xero OAuth2 提供者
本包允许您使用 Laravel Socialite 通过 Xero。
安装
您可以通过 composer 安装此包
composer require mrstebo/laravel-socialite-xero
注意:如果您使用 Laravel 5.5+,则可以跳过服务提供者注册,因为它应该会自动发现。
然后您应该在您的 config/app.php 文件中注册服务提供者
'providers' => [ // Other service providers Mrstebo\LaravelSocialiteXero\Provider::class, ]
您还需要添加 OAuth 应用程序的凭证,您可以使用Xero 开发者门户获取这些凭证。它们应放置在您的 config/services.php 文件中。您可以将下面的示例配置复制以开始
'xero' => [ 'client_id' => env('XERO_CLIENT_ID'), 'client_secret' => env('XERO_CLIENT_SECRET'), 'redirect' => env('XERO_REDIRECT'), ],
基本用法
现在,您已经准备好对用户进行认证了!您需要两个路由:一个用于将用户重定向到 OAuth 提供者,另一个用于接收提供者在认证后的回调。我们将使用 Socialite 门面访问 Socialite
<?php namespace App\Http\Controllers\Auth; use Socialite; class AuthController extends Controller { /** * Redirect the user to the Xero authentication page. * * @return Response */ public function redirectToProvider() { return Socialite::driver('xero')->redirect(); } /** * Obtain the user information from Xero. * * @return Response */ public function handleProviderCallback() { $user = Socialite::driver('xero')->user(); // $user->token; } }
当然,您需要定义路由到您的控制器方法
Route::get('auth/xero', 'Auth\AuthController@redirectToProvider'); Route::get('auth/xero/callback', 'Auth\AuthController@handleProviderCallback');
重定向方法负责将用户发送到 OAuth 提供者,而用户方法将读取传入的请求并从提供者检索用户信息。
检索用户详情
一旦您有了用户实例,您就可以获取更多关于用户的信息
$user = Socialite::driver('xero')->user(); // OAuth Two Providers $token = $user->token; $refreshToken = $user->refreshToken; // may not always be provided $expiresIn = $user->expiresIn;