3x1io / laravel-socialiter
自动管理任何 Laravel Socialite 提供器的用户持久化和解析。
资助包维护!
mikebronner
Requires
This package is auto-updated.
Last update: 2024-09-04 14:01:04 UTC
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
即可。(不用担心,由于它是开发依赖项,它不会安装到您的实时环境中。)