<?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: JWT Auth in Qlik Cloud in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851927#M15783</link>
    <description>&lt;P&gt;Thank you Damien, I changed the method to POST with end point URL (&lt;A href="https://%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A.us.qlikcloud.com/login/jwt-session" target="_blank" rel="nofollow noopener noreferrer"&gt;https://**********.us.qlikcloud.com/login/jwt-session&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;), and it worked like magic, thank you very much for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 26 Oct 2021 14:35:44 GMT</pubDate>
    <dc:creator>Jason_ca</dc:creator>
    <dc:date>2021-10-26T14:35:44Z</dc:date>
    <item>
      <title>JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850884#M15769</link>
      <description>&lt;P&gt;&lt;SPAN&gt;We are trying to get Qlik Cloud to work using JWT auth,&amp;nbsp;we followed all steps in this article &lt;A href="https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization" target="_blank"&gt;Create Signed Tokens for JWT Authorization | Qlik Developer Portal&lt;/A&gt;, and also configured the web integration for the test origin, but couldn't get it to work. We are using following test code, and always get 401 error, not sure what is wrong or missing. I wonder if anyone who did this before can shed some light, thanks.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;BR /&gt;function login() {&lt;BR /&gt;function isLoggedIn() {&lt;BR /&gt;return fetch("https://**********.us.qlikcloud.com/api/v1/users/me", {&lt;BR /&gt;method: 'GET',&lt;BR /&gt;mode: 'cors',&lt;BR /&gt;credentials: 'include',&lt;BR /&gt;headers: {&lt;BR /&gt;'qlik-web-integration-id': '##########',&lt;BR /&gt;'Authorization': 'Bearer eyJhbGciOiJSUxQ7Ntgare5QTKqENgcY78dgWUYIN54QwRuspk37tVOcdR2vv3KjAZQ6###########'&lt;BR /&gt;},&lt;BR /&gt;}).then(response =&amp;gt; {&lt;BR /&gt;return response.status === 200;&lt;BR /&gt;});&lt;BR /&gt;}&lt;BR /&gt;return isLoggedIn().then(loggedIn =&amp;gt; {&lt;BR /&gt;if (!loggedIn) {&lt;BR /&gt;alert('You are not logged in'); &lt;BR /&gt;}else{&lt;BR /&gt;alert('You are logged in');&lt;BR /&gt;}&lt;BR /&gt;});&lt;BR /&gt;}&lt;BR /&gt;login()&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Oct 2021 20:13:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850884#M15769</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-22T20:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850906#M15771</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/153922"&gt;@Jason_ca&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By default, JWT authentication is not enabled on the license. It has to be approved by the Product management team.&lt;/P&gt;
&lt;P&gt;Does your license has JWT enabled? If not reach out to your Qlik account manager or Customer support who can help you with enabling the JWT on your license.&lt;/P&gt;
&lt;P&gt;I hope this helps!&lt;/P&gt;</description>
      <pubDate>Fri, 22 Oct 2021 21:02:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850906#M15771</guid>
      <dc:creator>Vinay_B</dc:creator>
      <dc:date>2021-10-22T21:02:28Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850908#M15772</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/85603"&gt;@Vinay_B&lt;/a&gt;&amp;nbsp;, I will follow up with our Qlik account manager and let you know the result.&lt;/P&gt;
&lt;P&gt;Thanks again for your quick response!&lt;/P&gt;
&lt;P&gt;Jason&lt;/P&gt;</description>
      <pubDate>Fri, 22 Oct 2021 21:16:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1850908#M15772</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-22T21:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851111#M15773</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;And even if that was enabled, it's not enough to send the JWT token to any endpoint in Qlik Sense SaaS, there is a specific endpoint used to initiate the JWT authentication session (&lt;SPAN&gt;&lt;A href="https://**********.us.qlikcloud.com/login/jwt-session" target="_blank"&gt;https://**********.us.qlikcloud.com/login/jwt-session&lt;/A&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;So the code would have to look like something like this:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;return fetch("https://**********.us.qlikcloud.com/login/jwt-session", {
method: 'POST',
mode: 'cors',
credentials: 'include',
headers: {
'qlik-web-integration-id': '##########',
'Authorization': 'Bearer eyJhbGciOiJSUxQ7Ntgare5QTKqENgcY78dgWUYIN54QwRuspk37tVOcdR2vv3KjAZQ6###########'
},&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Oct 2021 06:15:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851111#M15773</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2021-10-25T06:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851897#M15778</link>
      <description>&lt;P&gt;Thank you Damien, but now I'm getting a 404 error.&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screenshot 2021-10-26 095225.jpg" style="width: 840px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/65250iE5D1B63C9ECC11CB/image-size/large?v=v2&amp;amp;px=999" role="button" title="Screenshot 2021-10-26 095225.jpg" alt="Screenshot 2021-10-26 095225.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 13:54:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851897#M15778</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-26T13:54:16Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851901#M15779</link>
      <description>&lt;P&gt;We confirmed with Qlik account manager, the JWT is already enabled, but still we could not get this to work.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 13:57:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851901#M15779</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-26T13:57:48Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851906#M15780</link>
      <description>&lt;P&gt;In your screenshot, it's showing you're doing a GET request to /login/jwt-session instead of a POST, that's why it returns 404.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The javascript code should be something like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;var config = {
    host: 'yourtenant.us.qlikcloud.com',
    prefix: '/',
    port: 443,
    isSecure: true,
    webIntegrationId: 'F2czdB5yjECRAGLuIi4hiiTEgNjPpW2R',
	jwt: 'eyJhbGciOi...VviRm5uOm_0P85_REW_8vgW9O6ueRDg-ErDNNspY7bPZsx2jKgJKyxWgp1dLyq5Hh_HcD7SBh5xbqD8vjkhrhPMAJ-jU98SHcvi33YqCbd8gdHTiDXP3YUuV5ptMKo5ATmcMUb2JhPQMviGLJfCWkJoUhffGOktKSZ36HIiTTfg'
};

//Redirect to login if user is not logged in
async function login() {
    function isLoggedIn() {
        return fetch("https://"+config.host+"/api/v1/users/me", {
            method: 'GET',
            mode: 'cors',
            credentials: 'include',
            headers: {
            'Content-Type': 'application/json',
            'qlik-web-integration-id': config.webIntegrationId
            },
        }).then(response =&amp;gt; response.status === 200);
    }

    return isLoggedIn().then((loggedIn) =&amp;gt; {
        if (!loggedIn) {
            return fetch("https://"+config.host+"/login/jwt-session", {
                method: 'POST',
                mode: 'cors',
                credentials: 'include',
                headers: {
                    'Content-Type': 'application/json',
                    'qlik-web-integration-id': config.webIntegrationId,
                    'Authorization':'Bearer '+config.jwt
                },
            }).then((response) =&amp;gt; {
                if (response.status !== 200) {
                    throw new Error('failed to login via jwt');
                }
            });
        }
    });
}

login().then(() =&amp;gt; {
    require.config({
        baseUrl: ( config.isSecure ? "https://" : "http://" ) + config.host + (config.port ? ":" + config.port : "") + config.prefix + "resources",
        webIntegrationId: config.webIntegrationId
    });

    require( ["js/qlik"], function ( qlik ) {
        qlik.on( "error", function ( error ) {
            $( '#popupText' ).append( error.message + "&amp;lt;br&amp;gt;" );
            $( '#popup' ).fadeIn( 1000 );
        } );
        $( "#closePopup" ).click( function () {
            $( '#popup' ).hide();
        } );
        //open apps -- inserted here --
        var app = qlik.openApp( 'fd91cc5b-b59b-4a5f-bfb8-3de888b3882c', config );
        
        //get objects -- inserted here --
        app.visualization.get('jCFJJ').then(function(vis){
        vis.show("QV01");	
        });
    });
});&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 14:04:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851906#M15780</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2021-10-26T14:04:59Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851912#M15781</link>
      <description>&lt;P&gt;I changed the end point url to 'https://******.us.qlikcloud.com&lt;FONT color="#339966"&gt;&lt;STRONG&gt;/api/v1/login/jwt-session&lt;/STRONG&gt;&lt;/FONT&gt;', seems it exists but now I'm getting a blocked error by CORS policy:&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;EM&gt;Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Is there a setting I missed when set up the Web integration?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 14:08:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851912#M15781</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-26T14:08:44Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851922#M15782</link>
      <description>&lt;P&gt;Indeed, that looks like the web integration might not have been set up correctly. Here's mine:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Damien_Villaret_0-1635258395900.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/65257i59EAD35715680636/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Damien_Villaret_0-1635258395900.png" alt="Damien_Villaret_0-1635258395900.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Damien_Villaret_1-1635258431893.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/65258i7B4548A45EDCC505/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Damien_Villaret_1-1635258431893.png" alt="Damien_Villaret_1-1635258431893.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 14:27:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851922#M15782</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2021-10-26T14:27:46Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851927#M15783</link>
      <description>&lt;P&gt;Thank you Damien, I changed the method to POST with end point URL (&lt;A href="https://%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A.us.qlikcloud.com/login/jwt-session" target="_blank" rel="nofollow noopener noreferrer"&gt;https://**********.us.qlikcloud.com/login/jwt-session&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;), and it worked like magic, thank you very much for your help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 14:35:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/1851927#M15783</guid>
      <dc:creator>Jason_ca</dc:creator>
      <dc:date>2021-10-26T14:35:44Z</dc:date>
    </item>
    <item>
      <title>Re: JWT Auth in Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/2111596#M19096</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;What can I do if cannot see the JTW option in "Identity Provider" config? I am Tenant Admin. As this article suggest:&amp;nbsp;&lt;A href="https://qlik.dev/authenticate/jwt/create-signed-tokens-for-jwt-authorization" target="_blank"&gt;https://qlik.dev/authenticate/jwt/create-signed-tokens-for-jwt-authorization&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Regards.&lt;/P&gt;
&lt;P&gt;DHG&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Aug 2023 23:08:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/JWT-Auth-in-Qlik-Cloud/m-p/2111596#M19096</guid>
      <dc:creator>david_hg96</dc:creator>
      <dc:date>2023-08-30T23:08:36Z</dc:date>
    </item>
  </channel>
</rss>

