Forum Discussion

agka's avatar
agka
Regular Visitor
9 years ago
Solved

PowerBi RLS with embedded analytics: spaces in username parameter

Hi, everybody!

I'm testing Power BI RLS with embedded analytics, and I perform steps from this article: https://powerbi.microsoft.com/ru-ru/documentation/powerbi-developer-embedded-rls/#applying-user-and-role-to-an-embed-token

However I stuck on generating embed token, as I always get error code Bad request with message "Invalid effective username provided"

 

var generateTokenRequestParameters = new GenerateTokenRequest(
                    accessLevel: "view",                   
                    identities: new List<EffectiveIdentity> {
                        new EffectiveIdentity(username: "Andrey Ma", roles: new List<string> { "Manager" },
                        datasets: new List<string> { "3c1a920e-8389-44a7-8375-c179bb3b0fb2" }
                        )});
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(groupId, "f8288d00-81fb-4ffb-bd2f-c842079039f5", generateTokenRequestParameters);

I created report with RLS from Retail Analysis Sample

 

One interesting thing to notice, when I pass value of username without spaces, token generated successfully and report with RLS works normally. So, how I should work with values with spaces?

  • yuryb's avatar
    yuryb
    9 years ago

    Hello,

     

    Spaces in the username are not allowed. As a workaround you can replace the spaces in the username for example with underscore ('_') and adjust the role DAX filter accordingly. You can also create a calculated column in the model that contains usernames without spaces.

     

    Best regards

3 Replies

  • Eric_Zhang's avatar
    Eric_Zhang
    Icon for Microsoft Employee rankMicrosoft Employee

    agka

    Thanks for reporting that. I can reproduce the same issue when the EffectiveUsername has any space, eg "Effective Username".

     

    {   
        "accessLevel": "View",
        "identities": [     
            {      
                "username": "EffectiveUsername",
                "roles": [ "Role1", "Role2" ],
                "datasets": [ "fe0a1aeb-f6a4-4b27-a2d3-b5df3bb28bdc" ]
            }   
        ] 
    } 

     

     

    yuryb

    Do you have any comments on this? Is this a limitation or issue?

    • yuryb's avatar
      yuryb
      Icon for Power BI Team rankPower BI Team

      Hello,

       

      Spaces in the username are not allowed. As a workaround you can replace the spaces in the username for example with underscore ('_') and adjust the role DAX filter accordingly. You can also create a calculated column in the model that contains usernames without spaces.

       

      Best regards

      • agka's avatar
        agka
        Regular Visitor

        Thanks to everybody! that's helps!