kyoya0819/socialite-slack

为 Laravel Socialite 的 Slack OAuth2 提供程序

dev-main 2022-11-22 06:14 UTC

This package is auto-updated.

Last update: 2024-09-22 13:40:36 UTC


README

文档

此包使用了位于 此处SocialiteProviders 包。

安装包

composer require mpociot/socialite-slack

安装服务提供者

  • 如果已经添加,请从 config/app.php 中的 providers[] 数组中移除 Laravel\Socialite\SocialiteServiceProvider

  • \SocialiteProviders\Manager\ServiceProvider::class 添加到 config/app.php 中的 providers[] 数组。

安装事件监听器

  • SocialiteProviders\Manager\SocialiteWasCalled 事件添加到 <app_name>/Providers/EventServiceProvider 中的 listen[] 数组。

  • 为该提供程序添加的监听器是 'Kyoya\Socialite\Slack\SlackExtendSocialite@handle',

例如

/**
 * The event handler mappings for the application.
 *
 * @var array
 */
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'Kyoya\Socialite\Slack\SlackExtendSocialite@handle',
    ],
];

环境变量

如果您将环境值添加到 .env 文件中,如下所示,则不需要向服务数组中添加条目。

追加到 .env

// other values above
SLACK_KEY=yourkeyfortheservice
SLACK_SECRET=yoursecretfortheservice
SLACK_REDIRECT_URI=https://example.com/login   

追加到 config/services.php

如果您按上述方式将值添加到 .env 中,则不需要添加此条目。以下值作为方便开发者使用 .env 方法之外的案例提供。

'slack' => [
    'client_id' => env('SLACK_KEY'),
    'client_secret' => env('SLACK_SECRET'),
    'redirect' => env('SLACK_REDIRECT_URI'),  
], 

使用方法

重定向到 Slack 并使用您想要访问的作用域

return Socialite::with('slack')->scopes([
	'identity.basic',
	'identity.email',
	'identity.team',
	'identity.avatar'
])->redirect();

许可证

MIT :)