jonnx/laravel-socialite-atlassian

Atlassian Connected Apps 的 Laravel Socialite 驱动程序


README

CircleCI

利用 Laravel Socialite 为您的应用程序提供 Atlassian Cloud 产品 Connected Apps API 的登录和 API 访问授权。

Larvel Socialite Atlassian Preview

入门

注册 atlassian Socialite 驱动程序只需几个步骤。之后,您可以使用通用的 Socialite 实现来验证用户。

安装 Composer 包

composer require jonnx/laravel-socialite-atlassian

更新配置

您需要将客户端应用程序配置添加到 config/services.php 文件中。您可以在 https://developer.atlassian.com 注册应用程序以生成这些密钥。

    'atlassian' => [
        'client_id'        => env('ATLASSIAN_APP_ID'),
        'client_secret'    => env('ATLASSIAN_APP_SECRET'),
        'redirect'         => '/login/callback',
        'base_uri'         => 'https://id.atlassian.com',
    ],

确保您在 .env 文件中添加并设置以下两个值

ATLASSIAN_APP_ID=
ATLASSIAN_APP_SECRET=

注册 Atlassian Socialite 驱动程序

更新 AppServiceProvider.php 的 boot 函数以调用私有方法来扩展 Laravel Socialite 的新驱动程序。

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->bootAtlassianSocialite();
    }

    private function bootAtlassianSocialite()
    {
        $socialite = $this->app->make('Laravel\Socialite\Contracts\Factory');
        $socialite->extend(
            'atlassian',
            function ($app) use ($socialite) {
                $config = $app['config']['services.atlassian'];
                return $socialite->buildProvider(AtlassianSocialiteProvider::class, $config);
            }
        );
    }

完成

现在,您应该能够轻松地将用户重定向到 Atlassian 进行登录并请求权限

return Socialite::with('atlassian')
    ->scopes([
        'read:me', 
        'read:jira-work', 
        'write:jira-work' 
        'offline_access'
    ])
    ->redirect();

并在回调中解析 Atlassian 的用户信息

$atlassianUser = Socialite::driver('atlassian')->user();

许可证

Laravel Socialite Atlassian 驱动程序是开源软件,根据 MIT 许可证 授权。