<?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>article Qlik Sense: How to set up JWT authentication in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226</link>
    <description>&lt;P&gt;This article explains how to simply set up JWT authentication using Qlik Sense default certificates and test it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;div class="video-embed-center video-embed"&gt;&lt;iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FqulrIHtwJyE%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqulrIHtwJyE&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FqulrIHtwJyE%2Fhqdefault.jpg&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" width="600" height="337" scrolling="no" title="Qlik Fix: How to Enable and Test JWT Authentication on Qlik Sense" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Fix/Qlik-Fix-How-to-Enable-and-Test-JWT-Authentication-on-Qlik-Sense/ta-p/1778477" target="_blank" rel="noopener"&gt;Click here for Video Transcript&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Steps:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Create a new virtual proxy&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;I&gt;This section only explains settings specific to JWT and supposes that you have set up &lt;STRONG&gt;Name&lt;/STRONG&gt;, &lt;STRONG&gt;Prefix&lt;/STRONG&gt;, &lt;STRONG&gt;Session cookie header name&lt;/STRONG&gt;, &lt;STRONG&gt;load balancing nodes&lt;/STRONG&gt; and &lt;STRONG&gt;linked a Proxy&lt;/STRONG&gt; to the new virtual proxy.&lt;BR /&gt;These are the minimum settings required for a virtual proxy to work correctly. Please refer to&amp;nbsp;&lt;/I&gt;&lt;A href="https://help.qlik.com/en-US/sense-admin/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-virtual-proxy.htm" target="_blank" rel="noopener"&gt;the Qlik Sense Online Help "Creating a virtual proxy"&lt;/A&gt;&lt;I&gt;&amp;nbsp;as well as &lt;A href="https://help.qlik.com/en-US/sense-admin/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/JWT-authentication.htm" target="_blank" rel="noopener"&gt;Qlik Sense For Administrators - JWT authentication&lt;/A&gt;&amp;nbsp;for details.&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;In the authentication section, select JWT for authentication&lt;/LI&gt;
&lt;LI&gt;Paste the certificate used to sign/decrypt JWT in "JWT certificate&lt;BR /&gt;&lt;BR /&gt;In this article, we will use the default Qlik Sense certificate located:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG style="font-family: inherit;"&gt;Important note: &lt;/STRONG&gt;&lt;SPAN&gt;We use Qlik Default certificates for simplicity in this article, in a Production scenario, the customer should create the key material (generate a private/public key pair for JWT signing and verification) that is managed by customer internal security policies.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;Go to&amp;nbsp;&lt;FONT face="courier new,courier"&gt;C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\.Local Certificates&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Open&amp;nbsp;&lt;FONT face="courier new,courier"&gt;server.pem&lt;/FONT&gt;&lt;SPAN&gt; in a text editor&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Copy the content including &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;-----BEGIN CERTIFICATE-----&lt;/FONT&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;-----END CERTIFICATE-----&lt;/FONT&gt;&lt;SPAN&gt; then paste it in the &lt;/SPAN&gt;&lt;STRONG style="font-family: inherit;"&gt;JWT Certificate&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;field in the QMC &amp;gt; Virtual Proxy configuration.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;Choose a value for &lt;STRONG&gt;JWT attribute for user ID&lt;/STRONG&gt;&amp;nbsp;and &lt;STRONG&gt;JWT attribute for user directory&lt;/STRONG&gt;. That can be anything (except reserved key words for JWT claims)&amp;nbsp;but it must match the values used in the JWT payload section when the JWT is generated.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Apply&lt;/STRONG&gt; changes and close.&lt;BR /&gt;
&lt;DIV id="tinyMceEditorSonja_Bauernfeind_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="setup of the jwt certificate in a virtual token.png" style="width: 701px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94182iEFFF48F9ABC53BF5/image-size/large?v=v2&amp;amp;px=999" role="button" title="setup of the jwt certificate in a virtual token.png" alt="setup of the jwt certificate in a virtual token.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="font-family: inherit;"&gt;Generate the JWT&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;In this article, we will directly use the JWT debugger available on &lt;SPAN&gt;&lt;A href="https://jwt.io" target="test_blank"&gt;https://jwt.io&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt; to generate the token. In a real use case, the JWT library corresponding to the programming language used should be used to generate the JWT.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;Open &lt;SPAN&gt;&lt;A href="https://jwt.io" target="test_blank"&gt;https://jwt.io&lt;/A&gt;&lt;/SPAN&gt; and go to the debugger&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;RS256 &lt;/STRONG&gt;for the algorithm&lt;/LI&gt;
&lt;LI&gt;In the PAYLOAD box, set up your attributes previously set via QMA in Qlik Sense's virtual proxy configuration for the user ID and the user directory. (&lt;STRONG&gt;Note:&lt;/STRONG&gt; Swap 'DOMAIN' with the user's directory)&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;In the Verify signature, paste &lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;server.pem&lt;/SPAN&gt;&lt;/FONT&gt; (Certificate) and &lt;FONT face="courier new,courier"&gt;server&lt;SPAN&gt;_key.pem&lt;/SPAN&gt;&lt;/FONT&gt; (Private key)&amp;nbsp;content in the appropriate fields. Those files are both located in&amp;nbsp;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\.Local Certificates&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;You can now copy the JWT generated in the left field and test it. This should look like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="encoded jwt.png" style="width: 707px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94183iC0F053BF64A8CA93/image-size/large?v=v2&amp;amp;px=999" role="button" title="encoded jwt.png" alt="encoded jwt.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="font-family: inherit;"&gt;Test the generated JWT&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;In order to log in with JWT, you need to inject the JWT as a header. There are various extensions available depending on your browser in order to test this.&lt;BR /&gt;&lt;BR /&gt;In this example, we are using Chrome with Modheader.&lt;BR /&gt;&lt;BR /&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;Install ModHeader from the Chrome Web Store&lt;/LI&gt;
&lt;LI&gt;Try to go to the hub:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;https://{your server name}/{prefix for JWT virtual proxy}/hub/&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;You should get a &lt;FONT face="courier new,courier"&gt;401 error: "Could not authenticate the request: Expected an authentication header."&lt;/FONT&gt; as no header has been provided.&lt;/LI&gt;
&lt;LI&gt;Go to ModHeader and set the following header:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG style="font-family: inherit;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Header name:&lt;/STRONG&gt; &lt;FONT face="courier new,courier"&gt;Authorization&lt;BR /&gt;&lt;/FONT&gt;&lt;STRONG style="font-family: inherit;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Header value:&lt;/STRONG&gt; &lt;FONT face="courier new,courier"&gt;Bearer&lt;/FONT&gt; &lt;I&gt;yourjwt&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="request headers.png" style="width: 626px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94184i2F621EEE67F93869/image-size/large?v=v2&amp;amp;px=999" role="button" title="request headers.png" alt="request headers.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;I&gt;&amp;nbsp; &amp;nbsp;&lt;/I&gt;Reload the page, you should now be logged into the hub correctly.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;BR /&gt;In order to integrate your solution with Qlik Sense using JWT authentication, you will need to pass in your code the JWT token in the authorization token for the first request to Qlik Sense so that a session is created.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Related Content:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://qlik.dev/tutorials/using-qlik-sense-on-windows-repository-api-qrs-with-qlik-cli" target="_blank" rel="noopener"&gt;Using Qlik Sense on Windows Repository API (QRS) with qlik-cli&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Examples of integration for different purposes are available on the internet:&lt;BR /&gt;&lt;A href="https://github.com/qlik-oss/enigma.js/tree/master/examples/authentication/sense-using-jwt" target="_blank" rel="noopener"&gt;https://github.com/qlik-oss/enigma.js/tree/master/examples/authentication/sense-using-jwt&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Mon, 21 Nov 2022 12:05:02 GMT</pubDate>
    <dc:creator>Damien_V</dc:creator>
    <dc:date>2022-11-21T12:05:02Z</dc:date>
    <item>
      <title>Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226</link>
      <description>&lt;P&gt;This article explains how to simply set up JWT authentication using Qlik Sense default certificates and test it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;div class="video-embed-center video-embed"&gt;&lt;iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FqulrIHtwJyE%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqulrIHtwJyE&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FqulrIHtwJyE%2Fhqdefault.jpg&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" width="600" height="337" scrolling="no" title="Qlik Fix: How to Enable and Test JWT Authentication on Qlik Sense" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Fix/Qlik-Fix-How-to-Enable-and-Test-JWT-Authentication-on-Qlik-Sense/ta-p/1778477" target="_blank" rel="noopener"&gt;Click here for Video Transcript&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Steps:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Create a new virtual proxy&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;I&gt;This section only explains settings specific to JWT and supposes that you have set up &lt;STRONG&gt;Name&lt;/STRONG&gt;, &lt;STRONG&gt;Prefix&lt;/STRONG&gt;, &lt;STRONG&gt;Session cookie header name&lt;/STRONG&gt;, &lt;STRONG&gt;load balancing nodes&lt;/STRONG&gt; and &lt;STRONG&gt;linked a Proxy&lt;/STRONG&gt; to the new virtual proxy.&lt;BR /&gt;These are the minimum settings required for a virtual proxy to work correctly. Please refer to&amp;nbsp;&lt;/I&gt;&lt;A href="https://help.qlik.com/en-US/sense-admin/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-virtual-proxy.htm" target="_blank" rel="noopener"&gt;the Qlik Sense Online Help "Creating a virtual proxy"&lt;/A&gt;&lt;I&gt;&amp;nbsp;as well as &lt;A href="https://help.qlik.com/en-US/sense-admin/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/JWT-authentication.htm" target="_blank" rel="noopener"&gt;Qlik Sense For Administrators - JWT authentication&lt;/A&gt;&amp;nbsp;for details.&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;In the authentication section, select JWT for authentication&lt;/LI&gt;
&lt;LI&gt;Paste the certificate used to sign/decrypt JWT in "JWT certificate&lt;BR /&gt;&lt;BR /&gt;In this article, we will use the default Qlik Sense certificate located:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG style="font-family: inherit;"&gt;Important note: &lt;/STRONG&gt;&lt;SPAN&gt;We use Qlik Default certificates for simplicity in this article, in a Production scenario, the customer should create the key material (generate a private/public key pair for JWT signing and verification) that is managed by customer internal security policies.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;Go to&amp;nbsp;&lt;FONT face="courier new,courier"&gt;C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\.Local Certificates&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Open&amp;nbsp;&lt;FONT face="courier new,courier"&gt;server.pem&lt;/FONT&gt;&lt;SPAN&gt; in a text editor&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Copy the content including &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;-----BEGIN CERTIFICATE-----&lt;/FONT&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;-----END CERTIFICATE-----&lt;/FONT&gt;&lt;SPAN&gt; then paste it in the &lt;/SPAN&gt;&lt;STRONG style="font-family: inherit;"&gt;JWT Certificate&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;field in the QMC &amp;gt; Virtual Proxy configuration.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;Choose a value for &lt;STRONG&gt;JWT attribute for user ID&lt;/STRONG&gt;&amp;nbsp;and &lt;STRONG&gt;JWT attribute for user directory&lt;/STRONG&gt;. That can be anything (except reserved key words for JWT claims)&amp;nbsp;but it must match the values used in the JWT payload section when the JWT is generated.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Apply&lt;/STRONG&gt; changes and close.&lt;BR /&gt;
&lt;DIV id="tinyMceEditorSonja_Bauernfeind_0" class="mceNonEditable lia-copypaste-placeholder"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="setup of the jwt certificate in a virtual token.png" style="width: 701px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94182iEFFF48F9ABC53BF5/image-size/large?v=v2&amp;amp;px=999" role="button" title="setup of the jwt certificate in a virtual token.png" alt="setup of the jwt certificate in a virtual token.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="font-family: inherit;"&gt;Generate the JWT&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;In this article, we will directly use the JWT debugger available on &lt;SPAN&gt;&lt;A href="https://jwt.io" target="test_blank"&gt;https://jwt.io&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt; to generate the token. In a real use case, the JWT library corresponding to the programming language used should be used to generate the JWT.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;Open &lt;SPAN&gt;&lt;A href="https://jwt.io" target="test_blank"&gt;https://jwt.io&lt;/A&gt;&lt;/SPAN&gt; and go to the debugger&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;RS256 &lt;/STRONG&gt;for the algorithm&lt;/LI&gt;
&lt;LI&gt;In the PAYLOAD box, set up your attributes previously set via QMA in Qlik Sense's virtual proxy configuration for the user ID and the user directory. (&lt;STRONG&gt;Note:&lt;/STRONG&gt; Swap 'DOMAIN' with the user's directory)&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;In the Verify signature, paste &lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;server.pem&lt;/SPAN&gt;&lt;/FONT&gt; (Certificate) and &lt;FONT face="courier new,courier"&gt;server&lt;SPAN&gt;_key.pem&lt;/SPAN&gt;&lt;/FONT&gt; (Private key)&amp;nbsp;content in the appropriate fields. Those files are both located in&amp;nbsp;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;C:\ProgramData\Qlik\Sense\Repository\Exported Certificates\.Local Certificates&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;You can now copy the JWT generated in the left field and test it. This should look like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="encoded jwt.png" style="width: 707px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94183iC0F053BF64A8CA93/image-size/large?v=v2&amp;amp;px=999" role="button" title="encoded jwt.png" alt="encoded jwt.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="font-family: inherit;"&gt;Test the generated JWT&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;In order to log in with JWT, you need to inject the JWT as a header. There are various extensions available depending on your browser in order to test this.&lt;BR /&gt;&lt;BR /&gt;In this example, we are using Chrome with Modheader.&lt;BR /&gt;&lt;BR /&gt;
&lt;OL class="lia-list-style-type-lower-alpha"&gt;
&lt;LI&gt;Install ModHeader from the Chrome Web Store&lt;/LI&gt;
&lt;LI&gt;Try to go to the hub:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;https://{your server name}/{prefix for JWT virtual proxy}/hub/&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;You should get a &lt;FONT face="courier new,courier"&gt;401 error: "Could not authenticate the request: Expected an authentication header."&lt;/FONT&gt; as no header has been provided.&lt;/LI&gt;
&lt;LI&gt;Go to ModHeader and set the following header:&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG style="font-family: inherit;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Header name:&lt;/STRONG&gt; &lt;FONT face="courier new,courier"&gt;Authorization&lt;BR /&gt;&lt;/FONT&gt;&lt;STRONG style="font-family: inherit;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Header value:&lt;/STRONG&gt; &lt;FONT face="courier new,courier"&gt;Bearer&lt;/FONT&gt; &lt;I&gt;yourjwt&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="request headers.png" style="width: 626px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/94184i2F621EEE67F93869/image-size/large?v=v2&amp;amp;px=999" role="button" title="request headers.png" alt="request headers.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/I&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;I&gt;&amp;nbsp; &amp;nbsp;&lt;/I&gt;Reload the page, you should now be logged into the hub correctly.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;BR /&gt;In order to integrate your solution with Qlik Sense using JWT authentication, you will need to pass in your code the JWT token in the authorization token for the first request to Qlik Sense so that a session is created.&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Related Content:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://qlik.dev/tutorials/using-qlik-sense-on-windows-repository-api-qrs-with-qlik-cli" target="_blank" rel="noopener"&gt;Using Qlik Sense on Windows Repository API (QRS) with qlik-cli&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Examples of integration for different purposes are available on the internet:&lt;BR /&gt;&lt;A href="https://github.com/qlik-oss/enigma.js/tree/master/examples/authentication/sense-using-jwt" target="_blank" rel="noopener"&gt;https://github.com/qlik-oss/enigma.js/tree/master/examples/authentication/sense-using-jwt&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Mon, 21 Nov 2022 12:05:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2022-11-21T12:05:02Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/1768881#M1290</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Great example! you can also run a JWT server with qlik sense embedded in an Iframe using&amp;nbsp;&lt;A title="this example" href="https://community.qlik.com/t5/Support-Knowledge-Base/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226?_ga=2.107852801.261853498.1607958694-1710320291.1569419813" target="_self"&gt;https://community.qlik.com/t5/Support-Knowledge-Base/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226?_ga=2.107852801.261853498.1607958694-1710320291.1569419813&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Dec 2020 09:21:40 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/1768881#M1290</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2020-12-16T09:21:40Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/1768950#M1297</link>
      <description>&lt;P&gt;&lt;A href="https://github.com/jackBrioschi/JWT_Iframe_QSEoW" target="_blank"&gt;https://github.com/jackBrioschi/JWT_Iframe_QSEoW&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Dec 2020 12:02:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/1768950#M1297</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2020-12-16T12:02:55Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060115#M8926</link>
      <description>&lt;P&gt;What to do if the JWT has rotating keys? For example Okta and the like rotate keys every 24 hours and therefore have multiple keys enabled at any time?&lt;/P&gt;
&lt;P&gt;Can it work with an&amp;nbsp;&lt;STRONG&gt;JWK URI instead?&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Apr 2023 13:54:56 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060115#M8926</guid>
      <dc:creator>masprea</dc:creator>
      <dc:date>2023-04-13T13:54:56Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060355#M8928</link>
      <description>You can just replace the certs or your server and in qlik cloud by using the APIs. (Remove jwt and create new one)&lt;BR /&gt;&lt;BR /&gt;&amp;lt;&amp;gt;&lt;BR /&gt;[qlik-cloud-localserver-jwt-IFrame.png]&lt;BR /&gt;QHose/qlik-cloud-localserver-jwt-IFrame: An example of using JSON web tokens to process authorization to Qlik Cloud tenant using an AWS Lambda function.&amp;lt;&amp;gt;&lt;BR /&gt;github.com&amp;lt;&amp;gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 14 Apr 2023 05:34:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060355#M8928</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2023-04-14T05:34:15Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060372#M8929</link>
      <description>&lt;P&gt;&lt;A href="https://github.com/QHose/qlik-cloud-localserver-jwt-IFrame" target="_blank"&gt;https://github.com/QHose/qlik-cloud-localserver-jwt-IFrame&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/QHose/qlik-cloud-localserver-jwt-IFrame/blob/d73c1c7e723dd09bb6b1bdf2f52d797ec8731e0f/configureTenant.js#L275" target="_blank"&gt;https://github.com/QHose/qlik-cloud-localserver-jwt-IFrame/blob/d73c1c7e723dd09bb6b1bdf2f52d797ec8731e0f/configureTenant.js#L275&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 06:26:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060372#M8929</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2023-04-14T06:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060373#M8930</link>
      <description>&lt;P&gt;More slides around jwt and Qlik cloud security (for OEM setups):&amp;nbsp;&lt;A href="https://integration.qlik.com/?selection=AHSkk7ZCD95SYttxF" target="_blank"&gt;https://integration.qlik.com/?selection=AHSkk7ZCD95SYttxF&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 06:27:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060373#M8930</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2023-04-14T06:27:07Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060375#M8931</link>
      <description>&lt;P&gt;So the posts above were for qlik cloud, but you can also do everything on client managed with the APIs. there is not JWK uri&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 06:28:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060375#M8931</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2023-04-14T06:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060446#M8935</link>
      <description>&lt;P&gt;yes, I thought about it too.&lt;/P&gt;
&lt;P&gt;The issue is that for enterprise servers, to use this API to create new or update a virtual proxy, the only solution to authenticate is using client certificate authentication, which is like a root access on Qlik. So this adds a lot of overhead and security implications and it feels of very high risk for something that could have been done by Qlik itself.&lt;/P&gt;
&lt;P&gt;Clearly when JWT was implemented there was a lack of understanding of what the tokens are for, because any enterprise implementation would have keys rotation given that JWT is stateless and as an attack vector, one would want to reduce the surface area rotating keys as much as possible.&lt;/P&gt;
&lt;P&gt;Could you revisit this and ask if the functionality could be added?&lt;/P&gt;</description>
      <pubDate>Fri, 14 Apr 2023 09:28:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060446#M8935</guid>
      <dc:creator>masprea</dc:creator>
      <dc:date>2023-04-14T09:28:05Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060570#M8940</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;You can use any authentication method to make the REST API calls. Not only certificates. So also jwt or ticketing. &lt;BR /&gt;&lt;BR /&gt;Check also evaluation.qlik.com select presentation explorer, select api or security &lt;BR /&gt;&lt;BR /&gt;I already shared your insights with the product manager. And they are aware. &lt;BR /&gt;</description>
      <pubDate>Fri, 14 Apr 2023 14:35:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2060570#M8940</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2023-04-14T14:35:15Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2153177#M10912</link>
      <description>&lt;P data-unlink="true"&gt;According to&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense-admin/November2023/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/JWT-authentication.htm" target="_self"&gt;JWT authentication&lt;/A&gt;, encrypted JWT isn't supported (i.e. HTTPS). So how would one work around this?&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2023 17:15:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2153177#M10912</guid>
      <dc:creator>MattiasThalén</dc:creator>
      <dc:date>2023-12-14T17:15:48Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2154403#M10941</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/214923"&gt;@MattiasThalén&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;An encrypted JWT does not equal HTTPs. HTTPS is traffic encryption, which does not rely on an encrypted JWT (which you cannot use in this instance). I recommend you post about what you are trying to achieve (your requirements) in our &lt;A href="https://community.qlik.com/t5/integration-extension-apis/bd-p/qlik-sense-integration-extension-api" target="_blank" rel="noopener"&gt;Integration forum&lt;/A&gt;, where our active userbase and support agents can assist you better.&lt;/P&gt;
&lt;P&gt;All the best,&lt;BR /&gt;Sonja&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2023 07:49:40 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2154403#M10941</guid>
      <dc:creator>Sonja_Bauernfeind</dc:creator>
      <dc:date>2023-12-19T07:49:40Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2155380#M10961</link>
      <description>&lt;P&gt;I have added&amp;nbsp; a virtual proxy using JWT method ,&amp;nbsp; i verified the public and private keys using jwt.io and created a token.&lt;BR /&gt;I then used Fiddler classic decryped https and added Authorization and Bearer &amp;lt;token generated from jwt.io&amp;gt;&amp;nbsp; it shows succes&amp;nbsp; but after using this link -&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;https://{your server name}/{prefix for JWT virtual proxy}/hub/&amp;nbsp; &amp;nbsp; &amp;nbsp;i got error 401&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;Then I used chrome extension Modheader added the name as "Authorization" and value as "Bearer&amp;nbsp;&amp;lt;token generated from jwt.io&amp;gt; "&amp;nbsp; and this worked the site was opening&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;But when i pause modheader and restart my chrome browser and try to open the link it again shows error 401&amp;nbsp;&lt;BR /&gt;I gave this link to other users who didn't had Modheader extension and they also get error 401&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Any Solution??&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2023 10:15:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2155380#M10961</guid>
      <dc:creator>Kartik2</dc:creator>
      <dc:date>2023-12-21T10:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2461838#M14094</link>
      <description>&lt;P&gt;How can I use&amp;nbsp;jwks_uri instead of JWT certificate? The only format available is .pem?&lt;/P&gt;</description>
      <pubDate>Wed, 12 Jun 2024 17:21:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2461838#M14094</guid>
      <dc:creator>aldosilva6</dc:creator>
      <dc:date>2024-06-12T17:21:48Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2495794#M15045</link>
      <description>&lt;P&gt;Should these JWTs not have some sort of expiry?&lt;/P&gt;</description>
      <pubDate>Tue, 03 Dec 2024 12:01:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2495794#M15045</guid>
      <dc:creator>chrisbrain</dc:creator>
      <dc:date>2024-12-03T12:01:37Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2495840#M15047</link>
      <description>Yes, on the latest qlik.dev post you will find those attributes&lt;BR /&gt;</description>
      <pubDate>Tue, 03 Dec 2024 16:43:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2495840#M15047</guid>
      <dc:creator>mbj</dc:creator>
      <dc:date>2024-12-03T16:43:23Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to set up JWT authentication</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2497030#M15080</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Please, how can I get the user ID and the user directory?, thanks&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Dec 2024 09:13:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-set-up-JWT-authentication/tac-p/2497030#M15080</guid>
      <dc:creator>rchuta1</dc:creator>
      <dc:date>2024-12-10T09:13:24Z</dc:date>
    </item>
  </channel>
</rss>

