session()->get('storage_provider_id'); /** @var StorageProvider $storageProvider */ $storageProvider = StorageProvider::query()->findOrFail($providerId); /** @var User $oauthUser */ $oauthUser = Socialite::driver($provider)->user(); $storageProvider->token = $oauthUser->token; $storageProvider->refresh_token = $oauthUser->refreshToken; $storageProvider->token_expires_at = now()->addSeconds($oauthUser->expiresIn); $storageProvider->connected = true; $storageProvider->save(); /** @TODO toast success message */ } catch (Throwable) { /** @TODO toast failed message */ } return redirect()->route('storage-providers'); } }