trypost/app/Http/Controllers/Auth
Paulo Castellano 49ccfe851e fix(linkedin,pinterest): split CSV/space-joined OAuth scopes before saving
LinkedIn and Pinterest's OAuth providers return the granted scope list
joined by comma (LinkedIn) or space-in-one-element (Pinterest), but
Socialite's scope splitter doesn't match either, so 'approvedScopes'
lands as a single-element array containing the whole list:

  LinkedIn:  ['email,openid,profile,r_basicprofile,w_member_social']
  Pinterest: ['boards:read boards:write pins:read pins:write user_accounts:read']

That breaks the publish-time scope check in PublishToSocialPlatform
(array_diff does exact string compare), surfacing as
'Missing permissions: w_member_social. Please reconnect your account'
even though the scopes were actually granted at the provider.

Fix is inline at each callback — re-split before saving. Each provider
has its own quirk (LinkedIn = comma, Pinterest = space), so each
controller handles its own separator.

Tests added: callback splits the joined approvedScopes into individual
tokens for both providers.
2026-05-14 10:55:53 -03:00
..
Concerns feat: capture signup UTMs/IP and add GitHub OAuth login 2026-05-04 18:42:25 -03:00
AcceptInviteController.php feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
AuthenticatedSessionController.php fix: security audit - IDOR, open redirect, authorization, session fixes 2026-03-30 14:58:25 -03:00
BlueskyController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
EmailVerificationNotificationController.php refactor: restructure to Actions, subdomain routes (app/api), API tokens 2026-03-29 19:24:28 -03:00
EmailVerificationPromptController.php refactor: restructure to Actions, subdomain routes (app/api), API tokens 2026-03-29 19:24:28 -03:00
FacebookController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
GitHubController.php revert: keep one OAuth callback URL per provider 2026-05-04 19:42:13 -03:00
GoogleController.php revert: keep one OAuth callback URL per provider 2026-05-04 19:42:13 -03:00
InstagramController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
InstagramFacebookController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
LinkedInController.php fix(linkedin,pinterest): split CSV/space-joined OAuth scopes before saving 2026-05-14 10:55:53 -03:00
LinkedInPageController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
MastodonController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
NewPasswordController.php feat: improvements on invites 2026-01-20 16:53:54 -03:00
PasswordResetLinkController.php feat: improvements on invites 2026-01-20 16:53:54 -03:00
PinterestController.php fix(linkedin,pinterest): split CSV/space-joined OAuth scopes before saving 2026-05-14 10:55:53 -03:00
RegisteredUserController.php feat: capture signup UTMs/IP and add GitHub OAuth login 2026-05-04 18:42:25 -03:00
SignupSuccessController.php chore: tracking, gtm and more 2026-03-30 21:32:43 -03:00
SocialController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
ThreadsController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
TikTokController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00
VerifyEmailController.php refactor: restructure to Actions, subdomain routes (app/api), API tokens 2026-03-29 19:24:28 -03:00
XController.php feat: redesign accounts page with multi-account support 2026-04-14 19:48:35 -03:00
YouTubeController.php feat: localize OAuth popup callback messages across 12 controllers 2026-05-07 14:03:52 -03:00