Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello everyone,
I'm currently working at the following scenario:
- We have a web system
- We have Qlik Sense (in the cloud)
In order to make it easier for our users that are already authenticated, we'd like to have a menu item in our system, called something like "Go to the Dashboard".... That redirects the user
to the Qlik hub already authenticated. (So the user don't need to retype its password and userId).
What I have tried so far:
- JWT - I've created a virtual proxy that accepts JWT auth.... It works when Authorization Bearer is sent in the header. However, I can't "redirect" the user from our system to Qlik with it, because the browser removes the header on the redirection step.
- Web Ticketing = Still working on... Once I have a ticket, will I be able to send my user to /hub and then will it be authenticated for the next requests? (I read the ticket has a 1 minute time expiration). Do I have to open port 4243 on the Qlik Sense machine? How ab out the machine I'm sending the request? I'm getting a Timed Out error in the URL
Hey, you said you have Qlik Sense in the cloud, I guess you meant you have Qlik Sense on prem installed in a cloud machine, correct?
In this scenario we usually try to have same IdP for both Web app and Qlik Sense, this will create a SSO. When this is not possible you can use JWT or Ticket auth as you mentioned.
For JWT, you have to set up a Virtual Proxy and before redirect the user, you have to get a Qlik resource attaching JWT token. This will generate Qlik cookie and it will be attached to the session. Then, we you will redirect the user to Qlik hub you are already authenticated.
Same for ticket, you have to first get a ticket using QPS APIs, then get a Qlik resource consuming the ticket (attach the ticket as url param ?qlikTicket=_qlikTicket_), and finally this will generate Qlik cookie.
Thank you for answering! Yes, you are correct. Qlik Sense on prem installed in a cloud machine.
Do you think it's possible to achieve this JWT flow solely on Javascript? For example, using fetch? By consuming a resource, what do you suggest? (Sorry, I'm new to Qlik, still trying to figure things out)
it is possible to achieve JWT flow using Javascript. You have to built a backend service for creating the JWT token, and pass the token to your front end.
For getting a Qlik resource you can call a simple API end point or getting a small image (https://_qlikServer_/content/Default/Qlik_default_orange.png).