Upgrading to v3 from 2.x
This upgrade guide only discusses upgrading Socialstream 3.x and assumes you are upgrading from an unaltered 2.x install. Upgrading Jetstream, Livewire, Inertia, Vue or Tailwind CSS is out of scope for this documentation. Please consult the upgrade guides for each of these packages instead.
Overview
Changes
Disabling Socialstream
Impact: Low
To disable Socialstream in v3, you will need to update your existing SocialstreamServiceProvider.php
to include the following code snippet in your providers boot
method:
The function accepts a callback so if you wanted to implement more complex logic, you may do so.
Note, the callback MUST return a boolean
Providers
Impact: Low
V3 introduces a new Providers
class, for defining what Socialite providers you have enabled in your config. This class is also used in the socialstream.blade.php stub and the connected-account.blade.php component stub. Please update any Socialite providers you have in your socialstream.php
config file to use this class, e.g:
Remember Sessions
Impact: Low
V3 of Socialstream move the remember session config variable into the 'features' config array. During your upgrade, if you have previously set this config variable to true
, you will need to add it to your features list.
Token Column Lengths
Impact: Low
In version 3.x, we've fixed an issue with the length of tokens and refresh tokens being too long for the columns in the database.
To fix this yourself, you should create a new connected_accounts
migration:
Once done, you should then add the following code to the up
method:
Provider Avatars
Impact: Low
In v3, we've updated the provider avatars feature to download the avatar from the url provided by the Socialite user. If you have opted to use the providerAvatars
feature in your config's features definition, you should add the SetsProfilePhotoFromUrl
trait to your user model:
It's worth noting that if you still to load the users profile photo from a URL, you will need to keep the getProfilePhotoUrlAttribute
method override published by Socialstream, in your user model.
Connected Account Policy
Impact: Low
V3 uses a new policy to determine whether or not a user can access certain functionality. To ensure compatibility with v3, make sure you copy the stub found here to your app/Policies
directory.
Updating Connected Accounts
Impact: Low
Socialstream v3 will now keep your connected accounts up to date whenever a user uses SSO with your application. updating a users OAuth token and refresh token on every successful login. To make sure this works for you, copy this stub into the app/Actions/Socialstream
directory. You will then need to add the following to your app\Providers\SocialstreamServiceProvider.php
:
Resolving Users from Socialite
Impact: Low
To allow additional flexibility, v3 allows you to override how your app resolves users from Socialite. For example, you may wish to call the stateless
method, like so:
To ensure v3 compatibility, copy the ResolveSocialiteUser
action stub found here to your app/Actions/Socialstream
directory and add the following to your app\Providers\SocialstreamServiceProvider.php
:
Last updated