ivao-brasil / ivao-socialite
此软件包已被弃用,不再维护。没有建议的替代软件包。
为 IVAO 提供的 Laravel Socialite 提供商
v1.3.0
2021-02-11 13:06 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- laravel/socialite: ^5.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2023-06-11 18:37:23 UTC
README
为 IVAO 提供的 Laravel Socialite 提供商。
入门
要在您的 Laravel 项目中使用此软件包,您必须首先安装它。推荐通过 Composer 安装此软件包。
composer require ivao-brasil/ivao-socialite
之后,您必须像其他 Socialite 提供商一样,在 Laravel 配置文件中添加配置。为了做到这一点,请转到您的 config/services.php
文件并添加以下会话
"ivao" => [ "redirect" => "/your-callback" ]
此回调将是 IVAO 登录 API 将转发的 URL。您可以使用 URL 或路由路径进行配置。
或者,在开发过程中,如果您需要将 IVAO 登录模拟到本地应用程序,您可以按照以下方式覆盖调用 URL
"ivao" => [ "redirect" => "/your-callback", "ivao-dev-login-url" => "https:///fakeivaologin/", "ivao-dev-login-api" => "https:///fakeivaologin/api/", ]
之后,您就可以使用了。您可以使用它,就像使用任何其他 Socialite 提供商一样。
namespace App\Http\Controllers; use App\Models\User; use Illuminate\Support\Facades\Auth; use Laravel\Socialite\Facades\Socialite; class IvaoLoginController { public function redirect() { return Socialite::driver('ivao')->redirect(); } public function callback() { $ivaoUser = Socialite::driver('ivao')->user()->getRaw(); Auth::login(new User($ivaoUser)); return redirect()->to('home'); } }
请注意,由于 IVAO API 的限制,Socialite 用户实例受到严重限制:仅实现了 getId
和 getName
方法。我们建议您使用 getRaw()
方法,该方法将返回一个包含解析后的登录 API 数据的关联数组。当您调用它时,您将得到如下内容
[ "vid" => 385415, "firstName" => "Joao Pedro", "lastName" => "Henrique", "administrativeRating" => 2, "atcRating" => 5, "pilotRating" => 5, "division" => "BR", "country" => "BR", "staff" => [ "BR-AWM", "WD9" ] ]
如果无法使用提供的令牌从 API 中提取用户数据,Socialite 的 user
方法将返回 null
。
问题和贡献
如果您发现错误/错误/不良行为,请随意打开一个问题来报告它。同时,欢迎并非常欢迎拉取请求。
许可
此项目是 MIT 许可。