<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Qlik Sense Authentication - Java in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039950#M4284</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jessen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, I was able to connect using Java. I used &lt;A href="https://github.com/TakahikoKawasaki/nv-websocket-client"&gt;NVWebSocket&lt;/A&gt; library for Java Web sockets. I had to import the certificates to a Java Keystore and use that to load the ssl context. One requirement is that your server url should have an entry in the proxy whitelist. I haven't tried much but I was able to call few global methods like getting the document list. Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following examples helped: &lt;A href="https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java" title="https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java"&gt;Java-WebSocket/SSLClientExample.java at master · TooTallNate/Java-WebSocket · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gist.github.com/mindspank/d5e10b32394ee85809a5" title="https://gist.github.com/mindspank/d5e10b32394ee85809a5"&gt;QES-NoProxy-Certs.js · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Apr 2016 18:01:22 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-04-13T18:01:22Z</dc:date>
    <item>
      <title>Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039939#M4273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to develop a Java application which uses the Engine APIs to get all the apps and related data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So far I have found that Qlik Sense has only NTLM or Kerberos as built in authentication mechanisms and the server needs to be connected to an external authentication module which authenticates the users. Please let me know if I have got this wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, I have read that Qlik Sense will accept users authenticated against other systems. And then using the Ticket API or the Session module or the Header mode to access the Sense system. How does Qlik Sense know whom to trust? How do I link an external authentication module to the server?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following is the sequence that I want to implement: authenticate -&amp;gt; get all apps data (please suggest if I can achieve this using REST APIs exposed or if I need to use web sockets and engine apis) -&amp;gt; use this information in our platform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It would be very helpful if somebody can post a sample authentication sequence using the QPS or any other service which can be implemented without using the .NET SDK. A small concrete example would be super helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lastly, is it possible to do a simple straightforward authentication using REST APIs and using other APIs. Is there any other way to get the Apps list? Please advice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 18:43:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039939#M4273</guid>
      <dc:creator />
      <dc:date>2016-04-01T18:43:09Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039940#M4274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, Qlik don't have users in that manner. We can do NTML or Kerberos as we ship a LDAP user connector out of the box so we can pass through authentication in that manner. For other types of authentication you would use the QPS API to either issue tickets to users or pass on a existing session into Qlik.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All of this is enabled through certificate trust. Qlik Sense generates certificates for it's services and you can export certificates from QMC. So if your service signs the requests with the certificates, we will trust you. We will also trust that you have authenticated your users when you request a ticket or pass on a session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However since it sounded like you are going to be parsing a large number of apps in a short time frame you will be hit by the 5 session limit imposed on user authentication. Instead I would recommend you open a websocket channel directly to the engine wss://&amp;lt;server&amp;gt;:4747/app/&amp;lt;enginesession&amp;gt; and supply a X-Qlik-User header that specifies a service user. That will allow you to bypass the 5 session limit and if you sign your requests using the certificates there is no need to authenticate as we trust the signed requests.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a example in javascript of how to connect directly to the Engine using websockets&lt;/P&gt;&lt;P&gt;&lt;A href="https://gist.github.com/mindspank/d5e10b32394ee85809a5" title="https://gist.github.com/mindspank/d5e10b32394ee85809a5"&gt;QES-NoProxy-Certs.js · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are no REST endpoints available if you wish to interact with the application so you would use the Engine API to do that.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 19:13:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039940#M4274</guid>
      <dc:creator>Alexander_Thor</dc:creator>
      <dc:date>2016-04-01T19:13:29Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039941#M4275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just as a follow-up, if you are just looking to access the raw data that resides in a Qlik app you can dump tables to CSV files during script reload execution using the STORE loadscript command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That will most likely be faster then send potentially massive amounts of data over the socket and you don't have to burden your Qlik server with having to load all apps into memory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are looking at leveraging Qlik's on-demand calculation and aggregation engine, then yes you would use the Engine API. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 19:16:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039941#M4275</guid>
      <dc:creator>Alexander_Thor</dc:creator>
      <dc:date>2016-04-01T19:16:32Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039942#M4276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For exporting the certificate, could you please let me know what the machine name should be? I mean, what should be used as the machine name?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 20:02:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039942#M4276</guid>
      <dc:creator />
      <dc:date>2016-04-01T20:02:28Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039943#M4277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Its up to you, however, in our project we've specified the name as the application entry domain, but that pure preference.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Apr 2016 20:20:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039943#M4277</guid>
      <dc:creator />
      <dc:date>2016-04-01T20:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039944#M4278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander&lt;/P&gt;&lt;P&gt;Is it possible to authenticate using certificates and the .NET SDK&lt;/P&gt;&lt;P&gt;I see no way to include certificates in .NET Qlik Engine API?&lt;/P&gt;&lt;P&gt;Thanks JP&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Apr 2016 23:43:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039944#M4278</guid>
      <dc:creator>jp_golay</dc:creator>
      <dc:date>2016-04-05T23:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039945#M4279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see post: &lt;A href="https://community.qlik.com/message/1013416"&gt;Re: .NET SDK Connect Using Certificates&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Apr 2016 07:40:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039945#M4279</guid>
      <dc:creator>konrad_mattheis</dc:creator>
      <dc:date>2016-04-06T07:40:18Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039946#M4280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have decided that using Engine API with certificates based authentication is the way to go. I am trying to implement this using java-websocket library.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Apr 2016 16:26:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039946#M4280</guid>
      <dc:creator />
      <dc:date>2016-04-06T16:26:47Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039947#M4281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to fetch the DocList from QES in C# as you explained.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Seems that the auth by certificate is working because my Response status is completed, but i'm getting 404 as http status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am attaching 2 sample test functions: Using HttpWebRequest and RestSharp. Both fail with the same message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any idea about what I may be doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDIT: I have tried using websockets (websocket-sharp) but am still getting errors.&lt;/P&gt;&lt;P&gt;I have attached my test function and the stacktrace.&lt;/P&gt;&lt;P&gt;Any idea why the connection is failing? (seems to be the initial handshake)&lt;/P&gt;&lt;P&gt;Any clues where to look in the log files?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With thanks and regards,&lt;/P&gt;&lt;P&gt;Jessen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Apr 2016 09:42:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039947#M4281</guid>
      <dc:creator />
      <dc:date>2016-04-07T09:42:10Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039948#M4282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nikhil,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you been able to connect and interact with QES in Java? I have tried in c# but I cannot get it to work...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Apr 2016 05:47:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039948#M4282</guid>
      <dc:creator />
      <dc:date>2016-04-13T05:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039949#M4283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jessen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can confirm you that the connection from JAVA is working.&lt;/P&gt;&lt;P&gt;We developed long time ago a project for a customer to connect&lt;/P&gt;&lt;P&gt;with JAVA to the Enginge &amp;amp; QMC and do a lot of fancy stuff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye Konrad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Apr 2016 13:36:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039949#M4283</guid>
      <dc:creator>konrad_mattheis</dc:creator>
      <dc:date>2016-04-13T13:36:21Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039950#M4284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jessen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, I was able to connect using Java. I used &lt;A href="https://github.com/TakahikoKawasaki/nv-websocket-client"&gt;NVWebSocket&lt;/A&gt; library for Java Web sockets. I had to import the certificates to a Java Keystore and use that to load the ssl context. One requirement is that your server url should have an entry in the proxy whitelist. I haven't tried much but I was able to call few global methods like getting the document list. Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following examples helped: &lt;A href="https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java" title="https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java"&gt;Java-WebSocket/SSLClientExample.java at master · TooTallNate/Java-WebSocket · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gist.github.com/mindspank/d5e10b32394ee85809a5" title="https://gist.github.com/mindspank/d5e10b32394ee85809a5"&gt;QES-NoProxy-Certs.js · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Nikhil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Apr 2016 18:01:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039950#M4284</guid>
      <dc:creator />
      <dc:date>2016-04-13T18:01:22Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039951#M4285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nikhil,&lt;/P&gt;&lt;P&gt;May i know how do you import the certificate (export from Qlik) to java keystore and use them in Java?&lt;/P&gt;&lt;P&gt;Basically I have tried the same example as you mentioned but for SSL socket i could never connect to "hostname:4747/api" with my java keystore while javascripts works fine to me.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Mar 2017 01:41:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1039951#M4285</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-08T01:41:48Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense Authentication - Java</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1626732#M11371</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;
&lt;P&gt;For those who are interested, I've created an updated example for how to request a ticket via Java. This version is more adaptable with a number of improvements and has better clarity. The biggest change is that you can now also use the standard certificates that are exported from Qlik Sense without having to convert them to the Java KeyStore (*.jks) format. You can find the code here: &lt;A href="https://github.com/StevenJDH/Qlik-Sense-Java-Examples" target="_blank"&gt;https://github.com/StevenJDH/Qlik-Sense-Java-Examples&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Sep 2019 06:36:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Qlik-Sense-Authentication-Java/m-p/1626732#M11371</guid>
      <dc:creator>StevenJDH</dc:creator>
      <dc:date>2019-09-23T06:36:49Z</dc:date>
    </item>
  </channel>
</rss>

