socialiteproviders / manager
轻松添加新提供商或覆盖Laravel Socialite内置提供商。
v4.6.0
2024-05-04 07:57 UTC
Requires
- php: ^8.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0 || ^11.0
- laravel/socialite: ^5.5
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9.0
- dev-master
- v4.6.0
- v4.5.1
- v4.5.0
- v4.4.0
- v4.3.0
- v4.2.0
- v4.1.0
- 4.0.1
- v4.0.0
- v3.6
- v3.5
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4
- v3.3.7
- v3.3.6
- v3.3.5
- v3.3.4
- v3.3.3
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.3
- v2.2.1
- v2.2.0
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.2
- v2.0.1
- v2.0.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1
- dev-feat/upgrade
- dev-feat/pint
This package is auto-updated.
Last update: 2024-09-04 08:37:23 UTC
README
关于
这是一个Laravel Socialite的包,允许您轻松添加新提供商或覆盖现有提供商。
优点
- 您将能够访问使用管理器加载的所有提供商。
- 实例化延迟到Socialite被调用
- 您可以覆盖现有提供商
- 您可以创建新提供商
- Lumen使用简单
stateless()
可以设置为true
或false
- 您可以动态覆盖配置
- 它直接从
.env
文件检索环境变量,而不是还需要配置服务数组。
可用提供商
- 查看SocialiteProviders列表
- 您也可以创建自己的或修改他人的
参考
创建处理程序
下面是一个示例处理程序。您需要将此完整类名添加到EventServiceProvider
中的listen[]
。
- 也请参阅Laravel关于事件的文档.
providername
是提供商的名称,例如meetup
。- 当然,您需要更改命名空间和类名。
namespace Your\Name\Space; use SocialiteProviders\Manager\SocialiteWasCalled; class ProviderNameExtendSocialite { public function handle(SocialiteWasCalled $socialiteWasCalled) { $socialiteWasCalled->extendSocialite('providername', \Your\Name\Space\Provider::class); } }
创建提供商
覆盖内置提供商
您可以通过创建一个与现有laravel/socialite
提供商完全相同的名称(即'facebook')的新提供商来轻松覆盖内置提供商。
动态传递配置
您可以通过以下方式动态传递配置
$clientId = "secret"; $clientSecret = "secret"; $redirectUrl = "http://yourdomain.com/api/redirect"; $additionalProviderConfig = ['site' => 'meta.stackoverflow.com']; $config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig); return Socialite::with('provider-name')->setConfig($config)->redirect();
您必须在运行任何Socialite方法之前调用此方法。
创建OAuth1服务器类
查看其他OAuth1提供商以获取灵感。
获取访问令牌响应体
默认情况下,Laravel Socialite仅允许访问access_token
。这可以通过\Laravel\Socialite\User->token
公共属性访问。有时您需要访问整个响应体,这可能包含如refresh_token
之类的项目。
为此,OAuth2提供商类需要扩展\SocialiteProviders\Manager\OAuth2\AbstractProvider
,OAuth1提供商需要利用\SocialiteProviders\Manager\OAuth1\AbstractProvider
和\SocialiteProviders\Manager\OAuth1\Server
。
您可以从用户对象中访问它:$user->accessTokenResponseBody