genealabs / laravel-socialiter
自动管理任何Laravel Socialite提供者的用户持久性和解析。
10.0.0
2023-05-20 21:00 UTC
Requires
- genealabs/laravel-overridable-model: ^10.0
- illuminate/auth: ^10.0
- illuminate/database: ^10.0
- illuminate/support: ^10.0
- laravel/socialite: ^5.3
README
支持此包
这是一个MIT许可的开源项目,其持续发展得益于社区的支持。如果您想支持该项目和我们的其他包,请考虑通过上面的按钮赞助我们。
我们感谢以下赞助者的慷慨,请花点时间了解他们
目录
要求
- PHP 7.2+
- Laravel 7.x
- Socialite 4.2+
安装
-
安装composer包
composer require genealabs/laravel-socialiter
-
添加社交凭据表
php artisan migrate
要防止自动迁移运行(例如,如果您有不同的迁移设置,如多租户等),请将以下条目添加到您的应用服务提供商中
<?php namespace App\Providers; use GeneaLabs\LaravelSocialiter\Socialiter; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { // } public function boot() { Socialiter::ignoreMigrations(); } }
然后发布迁移文件并按需操作它们
php artisan vendor:publish --provider="GeneaLabs\LaravelSocialiter\Providers\ServiceProvider" --tag=migrations
-
更新用户模型
use GeneaLabs\LaravelSocialiter\Traits\SocialCredentials; class User extends Authenticatable { use SocialCredentials; ... }
实现
以下是一个使用“使用Apple登录”驱动程序的示例控制器实现
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use GeneaLabs\LaravelSocialiter\Socialiter; use Illuminate\Http\RedirectResponse; use Laravel\Socialite\Facades\Socialite; class SignInWithAppleController extends Controller { public function redirectToProvider() : RedirectResponse { // use Socialite, as before return Socialite::driver("sign-in-with-apple") ->scopes(["name", "email"]) ->redirect(); } public function handleProviderCallback() { // but handle the callback using Socialiter $user = (new Socialiter) ->driver("sign-in-with-apple") ->login(); // or you can use the facade: $user = Socialiter::driver("sign-in-with-apple") ->login(); // or you can use the app binding: $user = app("socialiter") ->driver("sign-in-with-apple") ->login(); } }
对质量的承诺
在包开发过程中,我会尽可能地采用良好的设计和开发实践,以确保该包尽可能好。包开发的检查单包括
- ✅ 使用单元测试尽可能达到接近100%的代码覆盖率。
- ✅ 消除SensioLabs Insight和Scrutinizer确定的任何问题。
- ✅ 完全符合PSR1、PSR2和PSR4。
- ✅ 在README.md中包含全面的文档。
- ✅ 提供一个遵循http://keepachangelog.com中概述格式的最新CHANGELOG.md。
- ✅ 在所有代码中没有任何PHPMD或PHPCS警告。
贡献
请遵守并尊重所有包含的行为准则。
报告问题
在报告问题时,请尽可能完整地填写包含的模板。不完整的问题可能会被忽略或关闭,如果没有足够的信息可供操作。
提交拉取请求
请查看贡献指南。只有符合所有标准的PR才会被接受。
如果你喜欢开源软件,为使用的仓库点一个 ⭐️。
我们已将惊人的symfony/thanks
composer包作为开发依赖项包含在内。通过为使用的包点星标来告知你的操作系统包维护者你感激他们。安装此包后,只需运行composer thanks
即可。(无需担心,由于它是开发依赖项,它不会安装在你的生产环境中。)