When generating a token you now can pass in the Role(s) to use for RLS. How can you retrieve the Roles programmatically? Is that possible?
Here is how you generate a token using a role:
var generateTokenRequestParameters = new GenerateTokenRequest("View", null, identities: new List<EffectiveIdentity>
{ new EffectiveIdentity(username: "username", roles: new List<string> { "roleA", "roleB" }, datasets: new List<string> { "datasetId" }) });
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync("groupId", "reportId", generateTokenRequestParameters);
https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-embedded-rls/