Source path: config/social.php
Extracted from supplied specification. Review before copying into application.

<?php
return [
    'x' => [
        'client_id' => null, 'client_secret' => null, // loaded per organization by OrganizationOAuthConfig
        'auth_url' => 'https://x.com/i/oauth2/authorize',
        'token_url' => 'https://api.x.com/2/oauth2/token',
        'scopes' => ['tweet.read', 'tweet.write', 'users.read', 'media.write', 'offline.access'],
        'scope_sep' => ' ', 'pkce' => true, 'auth_style' => 'basic', 'id_param' => 'client_id',
        'extra' => [],
    ],
    'linkedin' => [
        'client_id' => null, 'client_secret' => null, // loaded per organization by OrganizationOAuthConfig
        'auth_url' => 'https://www.linkedin.com/oauth/v2/authorization',
        'token_url' => 'https://www.linkedin.com/oauth/v2/accessToken',
        'scopes' => ['openid', 'profile', 'w_member_social'],
        'scope_sep' => ' ', 'pkce' => false, 'auth_style' => 'body', 'id_param' => 'client_id',
        'extra' => [], 'api_version' => env('LINKEDIN_API_VERSION', '202506'),
    ],
    'tiktok' => [
        'client_id' => null, 'client_secret' => null, // loaded per organization by OrganizationOAuthConfig
        'auth_url' => 'https://www.tiktok.com/v2/auth/authorize/',
        'token_url' => 'https://open.tiktokapis.com/v2/oauth/token/',
        'scopes' => ['user.info.basic', 'video.publish'],
        'scope_sep' => ',', 'pkce' => false, 'auth_style' => 'body', 'id_param' => 'client_key',
        'extra' => [], 'privacy' => env('TIKTOK_PRIVACY', 'PUBLIC_TO_EVERYONE'),
    ],
    'youtube' => [
        'client_id' => null, 'client_secret' => null, // loaded per organization by OrganizationOAuthConfig
        'auth_url' => 'https://accounts.google.com/o/oauth2/v2/auth',
        'token_url' => 'https://oauth2.googleapis.com/token',
        'scopes' => ['https://www.googleapis.com/auth/youtube.upload', 'https://www.googleapis.com/auth/youtube.readonly'],
        'scope_sep' => ' ', 'pkce' => false, 'auth_style' => 'body', 'id_param' => 'client_id',
        'extra' => ['access_type' => 'offline', 'prompt' => 'consent'],
        'privacy' => env('YOUTUBE_PRIVACY', 'public'),
    ],
];
Generic OAuth controller
