mpociot/socialite-slack
Slack OAuth2 Provider for Laravel Socialite
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\SocialiteServiceProviderfrom your providers[] array in config\app.php if you have added it already. -
Add
\SocialiteProviders\Manager\ServiceProvider::classto your providers[] array in config\app.php.
Install the event listener
-
Add
SocialiteProviders\Manager\SocialiteWasCalledevent 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 :)
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.