为Laravel Socialite提供的Monday OAuth2身份验证提供者

5.1.0 2022-09-16 03:23 UTC

This package is auto-updated.

Last update: 2024-08-26 21:36:11 UTC


README

composer require socialiteproviders/monday

安装与基本用法

请参阅基本安装指南,然后按照以下特定提供者的说明进行操作。

将配置添加到config/services.php

'monday' => [    
  'client_id' => env('MONDAY_CLIENT_ID'),  
  'client_secret' => env('MONDAY_CLIENT_SECRET'),  
  'redirect' => env('MONDAY_REDIRECT_URI') 
],

添加提供者事件监听器

Laravel 11+

在Laravel 11中,默认的EventServiceProvider提供者已被移除。相反,您可以在AppServiceProviderboot方法中使用Event外观的listen方法添加监听器。

  • 注意:除非您用自己的提供者覆盖了它们,否则您不需要为内置的Socialite提供者添加任何内容。
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) {
    $event->extendSocialite('monday', \SocialiteProviders\Monday\Provider::class);
});
Laravel 10或以下配置包的监听器以监听`SocialiteWasCalled`事件。

将事件添加到app/Providers/EventServiceProvider中的listen[]数组中。有关详细说明,请参阅基本安装指南

protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // ... other providers
        \SocialiteProviders\Monday\MondayExtendSocialite::class.'@handle',
    ],
];

用法

现在您应该能够像通常使用Socialite一样使用提供者(假设您已安装外观)

return Socialite::driver('monday')->redirect();

返回的用户字段

  • id
  • name
  • email
  • avatar

原始字段

Socialite::driver('monday')->user()->getRaw()
  • birthday
  • country_code
  • created_at
  • join_date
  • enabled
  • is_admin
  • is_guest
  • is_pending
  • is_view_only
  • location
  • mobile_phone
  • phone
  • photo_small
  • photo_thumb
  • photo_thumb_small
  • photo_tiny
  • teams
    • id
    • name
    • picture_url
  • time_zone_identifier
  • title
  • url
  • utc_hours_diff