v-imarcom/ manager-ingress
轻松添加新提供者或覆盖Laravel Socialite内置提供者。
v4.0.2
2021-12-23 02:48 UTC
Requires
- php: ^7.2 || ^8.0
- illuminate/support: ^6.0 || ^7.0 || ^8.0
- v-imarcom/socialite-ingress: ~4.0 || ~5.0
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ^6.0 || ^9.0
- dev-master
- v4.0.2
- v4.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
This package is auto-updated.
Last update: 2024-09-24 23:52:28 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); } }
创建提供者
覆盖内置提供者
您可以通过创建一个新的具有完全相同名称(例如 'facebook')的提供者来轻松覆盖内置的 laravel/socialite
提供者。
动态传递配置
您可以通过使用来动态传递配置
$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