Keboola WIKI‎ > ‎GoodData Writer‎ > ‎

PoweredBy KBC CheatSheet

by milan.veverka@keboola.com


When creating Powered By GoodData application using Keboola Connection services, please use the tips here:


Recommended workflow:


  • Create the user in advance (as they register to your primary system, or when you provision them).
  • Set up their MUF's (you need to manage changes on your end - update MUF's in case the user's privileges changed.
  • It is recommended that you keep record in your system about how the filters are set up and that the user is active - make the record once you receive positive reply from the API (it speeds up the SSO process later and improves on user experience)

Batch creation and management of the users can be also facilitated by BizzTreat's GoodData User Management app (to be found in the Keboola Data App store). It is currently in Beta, let us know if you want to give it a spin (it will avoid the need for MUF API calls etc., you just need to provide data)


During the actual SSO call (when you want to display the dashboard) with your records that the user has been created and his privileges are current (to avoid race conditions). Then proceed with the handshake as below.


SSO handshake:

GoodData Writer API: http://docs.keboolagooddatawriter.apiary.io/#sso


First, let’s assume that you are trying to get access only for already created users (simpler, and recommended case). In that situation, all you need to do is to call KBC GD Writer API (as per documentation) with this request:


https://syrup.keboola.com/gooddata-writer/sso?writerId=<WriterID>&pid=<PiD>&email=<e-mail>


The header of the request needs to contain SAPI authorization token that has granted access to the GoodData Writer settings.


The parameters are:

<WriterID>

<PiD>

<e-mail>

Ask the consultant working with you on the project for the values as well as for the token.


The API call will respond with a reply looking something like this:


{

"ssoLink": "https://<some_very_long_URL>",

"status": "ok",

"duration": 774

}


Take the <some_very_long_URL>. You will notice that the last parameter in it is called “targetURL”. Replace it’s value with the URL of the dashboard/project you want to display in the iFrame, starting after the hostname there.


(example: targetURL=/dashboard.html#project=/gdc/projects/pe7uqwfe9mt7vcyvrgseioy4i3ixw72v&dashboard=/gdc/md/pe7uqwfe9mt7vcyvrgseioy4i3ixw72v/obj/565 )



The new very_long_URL now becomes the “content” of the iframe. That’s it.

If you wish to hide the GD logo in the bar of an embedded dashboard, add a parameter ?showGDLogo=false to the targetURL (%26showGDLogo%3Dfalse)



MUFs:

- you will need to provide us with data describing which users have what access.

GoodData Writer MUF documentation: MUFs by Keboola API




Comments