socialiteproviders / discord
Discord OAuth2 Provider for Laravel Socialite
4.2.0
2023-07-24 23:28 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- socialiteproviders/manager: ~4.0
README
composer require socialiteproviders/discord
安装与基本使用
请参阅基本安装指南,然后按照以下特定提供者说明操作。
在 config/services.php
中添加配置
'discord' => [ 'client_id' => env('DISCORD_CLIENT_ID'), 'client_secret' => env('DISCORD_CLIENT_SECRET'), 'redirect' => env('DISCORD_REDIRECT_URI'), // optional 'allow_gif_avatars' => (bool)env('DISCORD_AVATAR_GIF', true), 'avatar_default_extension' => env('DISCORD_EXTENSION_DEFAULT', 'png'), // only pick from jpg, png, webp ],
添加提供者事件监听器
Laravel 11+
在 Laravel 11 中,默认的 EventServiceProvider
提供者已被移除。取而代之的是,在您的 AppServiceProvider
的 boot
方法中使用 Event
门面上的 listen
方法添加监听器。
- 注意:除非您用自己的提供者覆盖了它们,否则不需要为内置的 socialite 提供者添加任何内容。
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) { $event->extendSocialite('discord', \SocialiteProviders\Discord\Provider::class); });
Laravel 10 或以下
配置包的监听器以监听 `SocialiteWasCalled` 事件。将事件添加到您的 app/Providers/EventServiceProvider
中的 listen[]
数组中。有关详细说明,请参阅基本安装指南。
protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ // ... other providers \SocialiteProviders\Discord\DiscordExtendSocialite::class.'@handle', ], ];
使用方法
现在您应该能够像通常使用 Socialite 一样使用提供者(假设您已安装门面)
return Socialite::driver('discord')->redirect();
返回的用户字段
id
昵称
名字
电子邮件
头像