Hi @skoofy5 ,
Even I have voted that idea long back which you have shared. But we have achieved it by creating roles in PowerBI and applied RLS. In Portal, we have assigned appropriate web roles.
Note: You need to use Power BI desktop
1. Create roles within the report
Open the report on Power BI Desktop.
On the top menu, select Modelling, then Manage Roles.

Create a role called "All users"
Create one role for each active table in Tables, naming them with the proper name you like as displayed below

For the Role, All Contracts, simply leave it with no filters.
For the roles <Other Tables>, set up a filter on your other table, pointing to that table name.
Make sure the contract name typed in the filter matches the contract name in the table.
Apply the same filter for all other tables on the list.
Click Save.

Important step:
2. Assign security groups to RLS
Open Power BI Service (https://app.powerbi.com/ )
In the workspace, click datasets + dataflows
Select the report
Open the 3 dots menu on the right-hand side of the report
Select Security
Over each role, Create and include the AD group that contains the external users (Clients, Partners) for that specific contract. Repeat the same for every table.

Then the final step will be allow the user to sign in to your Portal. Once signed in they have to sign out
Then In portal management
1. Click contacts > Find the external contact > Add Existing web role and assign appropriate web role.
I have detailed as much as I can. In a nutshell, it is working properly so far for us.
Hope it helps.
------------
If you like this post, give it a Thumbs up. Where it solved your request, Mark it as a Solution to enable other users to find it.