Forum Discussion
Simultaneous Access to Embedded Power BI Report Across Multiple URLs Leads to Parameter Overwrite
Issue Summary: We are facing an issue where parameters are being overwritten in a Power BI report embedded across different domains when multiple users access the report simultaneously via different URLs. The parameter updates from one domain reflect in another, causing incorrect data to display in both sessions. This issue is occurring even when using Power BI REST APIs to manage parameters and report refresh.
Details:
Environment:
We are using the following URLs for embedding reports:
User 1: n20a.netzoom.com
User 2: 20.netzoom.com
Power BI REST APIs Involved:
Get Access Token: https://analysis.windows.net/powerbi/api/.default
Get Workspace List: https://api.powerbi.com/v1.0/myorg/groups
Get Report: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/reports
Check Parameter Availability: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/parameters
Update Parameter: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/Default.UpdateParameters
Generate Embed Token: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/reports/{reportId}/GenerateToken
Refresh Dataset: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/refreshes
Check Refresh Status: https://api.powerbi.com/v1.0/myorg/groups/{workspaceId}/datasets/{datasetId}/refreshes
Expected Behavior:
Each user should access the Power BI report from their respective URL (n20a.netzoom.com or 20.netzoom.com), with parameters updated and retained based on their session.
The report should refresh and display data based on the updated parameters for that user, isolated from other user sessions.
Problematic Scenario:
User 1 accesses the report from n20a.netzoom.com, and the BaseURLPara & SessionIDPara parameters are updated via the Update Parameter API call. The refresh API is triggered, and the report displays the correct data for User 1.
Meanwhile, User 2 accesses the same report from 20.netzoom.com, updates the parameters, and triggers a refresh API call.
As a result, User 1's report (accessed via n20a.netzoom.com) now reflects the parameters updated for User 2 (20.netzoom.com), overwriting the original parameters set for User 1.
Steps to Reproduce:
Use the Generate Embed Token API to embed the same Power BI report for two users via different URLs (n20a.netzoom.com and 20.netzoom.com).
User 1 logs in via n20a.netzoom.com, and the Update Parameter API is called to update BaseURLPara & SessionIDPara specific to User 1.
User 2 logs in via 20.netzoom.com, and a similar Update Parameter API call is made to update the parameters for User 2.
Observe that the parameter values from User 2 overwrite those of User 1, causing the report accessed by User 1 to show User 2's data.
Impact:
The parameter updates seem to be shared across sessions, leading to cross-session data contamination. Each user's report should remain isolated with its own parameters and refreshed data.
Bekow is M Query:
Expected Solution:
Is there a way to ensure parameter isolation for each user's session when accessing embedded reports from different URLs? We need a method to ensure that the parameter updates and refresh API calls are confined to each specific session, avoiding parameter overwrites between users.