mpociot / socialite-slack
Slack OAuth2 Provider for Laravel Socialite
Installs: 25 419
Dependents: 0
Suggesters: 0
Security: 0
Stars: 19
Watchers: 3
Forks: 9
Open Issues: 2
Requires
- php: ^5.6 || ^7.0
- socialiteproviders/manager: ~3.0
This package is auto-updated.
Last update: 2024-11-24 13:04:00 UTC
README
Documentation
This package makes use of the SocialiteProviders
package located here.
Install the package
composer require mpociot/socialite-slack
Install the Service Provider
-
Remove
Laravel\Socialite\SocialiteServiceProvider
from your providers[] array in config\app.php if you have added it already. -
Add
\SocialiteProviders\Manager\ServiceProvider::class
to your providers[] array in config\app.php.
Install the event listener
-
Add
SocialiteProviders\Manager\SocialiteWasCalled
event to your listen[] array in<app_name>/Providers/EventServiceProvider
. -
The listener that you add for this provider is
'Mpociot\Socialite\Slack\SlackExtendSocialite@handle',
.
For example:
/** * The event handler mappings for the application. * * @var array */ protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ // add your listeners (aka providers) here 'Mpociot\Socialite\Slack\SlackExtendSocialite@handle', ], ];
Environment variables
If you add environment values to your .env
as exactly shown below, you do not need to add an entry to the services array.
Append to .env
// other values above
SLACK_KEY=yourkeyfortheservice
SLACK_SECRET=yoursecretfortheservice
SLACK_REDIRECT_URI=https://example.com/login
Append to config/services.php
You do not need to add this if you add the values to the .env
exactly as shown above. The values below are provided as a convenience in the case that a developer is not able to use the .env method
'slack' => [ 'client_id' => env('SLACK_KEY'), 'client_secret' => env('SLACK_SECRET'), 'redirect' => env('SLACK_REDIRECT_URI'), ],
Usage
Redirect to Slack with the scopes you want to access:
return Socialite::with('slack')->scopes([ 'identity.basic', 'identity.email', 'identity.team', 'identity.avatar' ])->redirect();
License
MIT :)