akkyoh / socialite_google
Laravel Socialite 的 Google OAuth2 提供者
2.0.4
2016-07-29 23:04 UTC
Requires
- php: ^5.6 || ^7.0
- socialiteproviders/manager: ~2.0
README
安装
1. COMPOSER
composer require akkyoh/socialite_google
2. 服务提供者
- 如果已经添加了 Laravel\Socialite\SocialiteServiceProvider,请从 config\app.php 中的 providers[] 数组中移除。
- 将 \SocialiteProviders\Manager\ServiceProvider::class 添加到 config\app.php 中的 providers[] 数组。
// For example
'providers' => [
// a whole bunch of providers
// remove 'Laravel\Socialite\SocialiteServiceProvider',
\SocialiteProviders\Manager\ServiceProvider::class, // add
];
- 如果您想使用 Socialite Facade,您需要安装它。
3. 添加事件和监听器
- 将 SocialiteProviders\Manager\SocialiteWasCalled 事件添加到 <app_name>/Providers/EventServiceProvider 中的 listen[] 数组。
- 将您的监听器(例如来自提供者的监听器)添加到您刚刚创建的 SocialiteProviders\Manager\SocialiteWasCalled[]。
- 您为该提供者添加的监听器是 'Akkyoh\SocialiteGoogle\GoogleExtendSocialite@handle'。
- 注意:除非您用您自己的提供者覆盖它们,否则您不需要为内置的 socialite 提供者添加任何内容。
// For example
protected $listen = [
\SocialiteProviders\Manager\SocialiteWasCalled::class => [
// add your listeners (aka providers) here
'Akkyoh\SocialiteGoogle\GoogleExtendSocialite@handle',
],
];
4. 环境变量
如果您将环境值添加到 .env 文件中,如以下所示,则无需添加到 services 数组中的条目。
将提供者值追加到 .env 文件中
// other values above
GOOGLE_KEY=yourkeyfortheservice
GOOGLE_SECRET=yoursecretfortheservice
GOOGLE_REDIRECT_URI=https://example.com/login/
添加到 config/services.php
如果将值添加到 .env 文件中,则无需添加此内容。以下值是为了方便开发者,如果他们无法使用 .env 方法
'google' => [
'client_id' => env('GOOGLE_KEY'),
'client_secret' => env('GOOGLE_SECRET'),
'redirect' => env('GOOGLE_REDIRECT_URI'),
],
用法
现在您应该能够像通常使用 Socialite 一样使用它(假设您已安装了 facade)
return Socialite::driver('google') -> redirect();