Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I have a mashup that receives a Qlik ticket as a parameter in its URL. The ticket is issued via a server-side login form, and that portion of the process works fine.
The problem is that when the ticket is consumed by the mashup app by making an HTTP GET call to {server}/{virtual proxy}/qps/user?QlikTicket={received ticket} the session cookie is not delivered, and this action appears to kill the logged-in session on the Qlik server.
The expected response is received from making the GET request - the logged in user, directory etc is returned, but no cookie is set and immediately repeating the call with the same ticket returns the {session: "inactive"} response.
this.http.get<any>("https://{server}/{virual proxy}/qps/user?QlikTicket="+ticket).subscribe(data => {
if(data.userId) {
this.isLoggedin.next(true); //informs the rest of the app that the session is live
}
})
Hi @frankpacker
Have you seen the following documentation already?
When using a web browser, the web browser sends a ticket to the proxy. The proxy then returns a cookie to the browser and this cookie is included in the communication with the Qlik associative engine.
When using a custom client, the client must set the cookie and provide it to the proxy.
Kind Regards.
Hi @frankpacker ,
I suggest you to verify the ticket using it in a browser calling the complete URL. Remember that ticket could be consumed only one time, so you should comment the QPS call in your script.
Another point to attention, I'm not an expert with JS, but it has a synchronous execution model. Maybe the JS engine execute the QPS call previously to have the ticket and variable ticket is empty at the get time.