<?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 Using Multiple concurrent Identity Providers with Qlik Cloud in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Using-Multiple-concurrent-Identity-Providers-with-Qlik-Cloud/ta-p/2518278</link>
    <description>&lt;P&gt;&lt;FONT size="5" color="#339966"&gt;&lt;STRONG&gt;Content&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="none" maxheadinglevel="3"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;BLOCKQUOTE class="quote"&gt;&lt;EM&gt;Qlik Cloud is designed to support a single interactive Identity Provider (IdP) per tenant.&lt;/EM&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;As my friend&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/1870"&gt;@Dave_Channon&lt;/a&gt;&amp;nbsp;explains in &lt;A title="Why Qlik doesn't support multiple interactive identity providers on a Qlik Cloud tenant" href="https://community.qlik.com/t5/Official-Support-Articles/Why-Qlik-doesn-t-support-multiple-interactive-identity-providers/ta-p/2508017" target="_blank" rel="noopener"&gt;Why Qlik doesn't support multiple interactive identity providers on a Qlik Cloud tenant&lt;/A&gt;, only one interactive identity provider can be enabled at any one time for Qlik Cloud (Which includes Qlik Cloud Analytics and Qlik Talend Cloud Data Integration).&amp;nbsp; Without restating the points Dave made, the short answer is we do not plan to change this as we don't consider this good practice.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So, if your organisation needs to support multiple IDPs, what can you do?&amp;nbsp; There are many use-cases that require this, such as:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Providing access to external parties without adding them to your Organisation's IDP.&lt;/LI&gt;
&lt;LI&gt;OEM use-cases with customers who have their own IDPs&lt;/LI&gt;
&lt;LI&gt;Company mergers (This is one we've used ourselves a few times)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;These are just a few examples but this is a very common use case for most large organisations.&amp;nbsp; So what do you have to do?&amp;nbsp; Well, you could solve this with multiple tenants, but that's often a high-maintenance solution and isn't ideal.&amp;nbsp; That's why, as Dave mentioned, we recommend that customers use Identity federation to address this.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Identity Federation&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN&gt;Identity federation is a mechanism that links a user's identity across multiple identity management systems, allowing them to access different applications and resources without needing separate logins or credentials.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Almost all major providers support this.&amp;nbsp; For example, these IDPs all support federation:&lt;/P&gt;
&lt;DIV class="zMgcWd dSKvsb" data-il=""&gt;
&lt;DIV data-crb-p=""&gt;
&lt;DIV class="xFTqob"&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI class="Gur8Ad"&gt;Microsoft Entra ID&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Google Workspace&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Okta&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Auth0&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Ping Identity&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;OneLogin&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Amazon Cognito&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;IBM Cloud Identity&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Cisco Duo&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Microsoft ADFS (Active Directory Federation Services)&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="zMgcWd dSKvsb" data-il=""&gt;
&lt;DIV data-crb-p=""&gt;
&lt;DIV class="xFTqob"&gt;
&lt;H3 class="Gur8Ad"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Case Study - KeyCloak Federating with Auth0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;DIV class="Gur8Ad"&gt;So, how complex is this and how does it look to my users and Qlik Cloud tenant?&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;I set up a simple example of this using KeyCloak and Auth0. The way this works is:&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI class="Gur8Ad"&gt;The user tries to connect to their Qlik Cloud tenant&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Qlik sends the user to KeyCloak for authentication&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak provides the user the option to either log in directly with KeyCloak or be directed to Auth0 to log in.&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;After logging in, KeyCloak received user metadata, such as e-mail, groups, etc.&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak then provides this to Qlik Cloud&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;The user gains access to Qlik Cloud.&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_0-1747717044796.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180579i02F2075B3341E767/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_0-1747717044796.png" alt="Leigh_Kennedy_0-1747717044796.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;While this is not a 'how-to' article, at a high level, what I've set up is:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;KeyCloak is the IDP for my Qlik Cloud tenant:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_1-1747718291654.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180580i6910160624348240/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_1-1747718291654.png" alt="Leigh_Kennedy_1-1747718291654.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;In Keycloak I have my Groups and users set up as group members:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_2-1747718515225.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180581iCBC599F18041B3B5/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_2-1747718515225.png" alt="Leigh_Kennedy_2-1747718515225.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_4-1747718612436.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180583i335B917D3635435D/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_4-1747718612436.png" alt="Leigh_Kennedy_4-1747718612436.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_3-1747718567534.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180582i52FF528E923163A9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_3-1747718567534.png" alt="Leigh_Kennedy_3-1747718567534.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;And I have also set up Auth0 as an Identity provider for KeyCloak:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_0-1747723232958.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180599iE1FEEAF49CE05CBA/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_0-1747723232958.png" alt="Leigh_Kennedy_0-1747723232958.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;And hard-coded the 'External' group to any users coming from Auth0:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_6-1747718856532.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180585i3C297F8174B3BD22/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_6-1747718856532.png" alt="Leigh_Kennedy_6-1747718856532.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BR /&gt;
&lt;P&gt;This may not always be what you want to do.&amp;nbsp; You may wish to use the groups coming from Auth0 also, and that is possible, but not needed for my use case.&lt;/P&gt;
&lt;P&gt;Finally, here are my users set up in Auth0:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_7-1747719045047.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180586i1634B05646C963DE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_7-1747719045047.png" alt="Leigh_Kennedy_7-1747719045047.png" /&gt;&lt;/span&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;User Experience and Security&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;So what happens when I log in?&lt;/P&gt;
&lt;P&gt;First, let's look at &lt;A href="mailto:jane@qmi.com" target="_blank" rel="noopener"&gt;jane@qmi.com&lt;/A&gt;.&amp;nbsp; Jane is set up in KeyCloak. After opening the URL for our Qlik Cloud tenant, I am redirected to the keycloak login screen:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_8-1747719193185.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180587iED6240B5C6FA2A90/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_8-1747719193185.png" alt="Leigh_Kennedy_8-1747719193185.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I can log in directly here or choose to sign in with Auth0.&amp;nbsp; Jane logs into KeyCloak directly and is then sent back to the Qlik Tenant:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_9-1747719342741.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180588i2A9FED66A4E66888/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_9-1747719342741.png" alt="Leigh_Kennedy_9-1747719342741.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To understand what information Qlik Clouid has been provided, we can append "/api/v1/diagnose-claims" to the end of our tenant URL. This will show us the metadata Qlik has received about Jane, such as:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_10-1747719530667.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180589iD82D43DE09F5EB5F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_10-1747719530667.png" alt="Leigh_Kennedy_10-1747719530667.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We are most concerned about Jane's groups, as that is how we will control access. Jane is in the Finance and Human Resources groups.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In our tenant, we have the following spaces and access rules:&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;&lt;STRONG&gt;Space Name&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;&lt;STRONG&gt;Space Type&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;&lt;STRONG&gt;Groups with Access&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="47px"&gt;External&lt;/TD&gt;
&lt;TD width="25%" height="47px"&gt;Managed&lt;/TD&gt;
&lt;TD width="50%" height="47px"&gt;External:&amp;nbsp; Read Only&lt;BR /&gt;&lt;BR /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;External_development&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Finance: full access&lt;BR /&gt;Sales: full access&lt;BR /&gt;Human Resources: full access&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Finance&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Finance:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Sales&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Sales:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Human Resources&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Human Resources:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So Jane sees the Finance, Human Resources, and External_development spaces:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_12-1747720650835.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180591iFB07D1E82A4802F2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_12-1747720650835.png" alt="Leigh_Kennedy_12-1747720650835.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;What happens when a user logs in through Auth0? This time&amp;nbsp;&lt;A href="https://manage.auth0.com/dashboard/au/lkn/users/YXV0aDAlN0M2ODJiZjk2YzMwY2JlM2JmM2VmZGM2ODI" target="_blank" rel="noopener"&gt;joe.public@company1.com&lt;/A&gt;&amp;nbsp;will log in via Auth0:&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_0-1747721429306.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180595i1A4820A42A11F6B7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_0-1747721429306.png" alt="Leigh_Kennedy_0-1747721429306.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;
&lt;P&gt;As this user has never logged in before, KeyCloak asks for some details:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_1-1747721463955.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180596i8443DCDB088E715B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_1-1747721463955.png" alt="Leigh_Kennedy_1-1747721463955.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After logging in, we can look at the&amp;nbsp;"/api/v1/diagnose-claims" endpoint to see the user's metadata.&amp;nbsp; We see the External group, which we hard-coded for Auth0 users in KeyCloak:&lt;/P&gt;
&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_2-1747721474974.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180597iE9B0AB2DABA46931/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_2-1747721474974.png" alt="Leigh_Kennedy_2-1747721474974.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And when looking at the user's space access, we can only see the External space as expected:&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_3-1747721688707.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180598iB426BDFB918B70CC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_3-1747721688707.png" alt="Leigh_Kennedy_3-1747721688707.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Final Thoughts&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This is a simple example I put together in a couple of hours. I selected KeyCloak and Auth0 simply because I have some experience with them - most IDPs could do this (and also, I could have chosen to reverse the order and have Auth0 as the primary IDP).&lt;/P&gt;
&lt;BLOCKQUOTE class="quote"&gt;Neither Qlik nor I make any specific recommendations as to what identity providers customers should use.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;While we haven't looked at it here, it's also possible to use social services (such as LinkedIn, GitHub, Facebook, etc.) as external Identity providers, which may well be a better solution for some use-cases. And you can support many of these at the same time as your needs require.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you require assistance in this, your friendly neighbourhood Qlik Services team can assist, as can our partners.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Thu, 22 May 2025 22:45:34 GMT</pubDate>
    <dc:creator>Leigh_Kennedy</dc:creator>
    <dc:date>2025-05-22T22:45:34Z</dc:date>
    <item>
      <title>Using Multiple concurrent Identity Providers with Qlik Cloud</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Using-Multiple-concurrent-Identity-Providers-with-Qlik-Cloud/ta-p/2518278</link>
      <description>&lt;P&gt;&lt;FONT size="5" color="#339966"&gt;&lt;STRONG&gt;Content&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="none" maxheadinglevel="3"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;BLOCKQUOTE class="quote"&gt;&lt;EM&gt;Qlik Cloud is designed to support a single interactive Identity Provider (IdP) per tenant.&lt;/EM&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN&gt;As my friend&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/1870"&gt;@Dave_Channon&lt;/a&gt;&amp;nbsp;explains in &lt;A title="Why Qlik doesn't support multiple interactive identity providers on a Qlik Cloud tenant" href="https://community.qlik.com/t5/Official-Support-Articles/Why-Qlik-doesn-t-support-multiple-interactive-identity-providers/ta-p/2508017" target="_blank" rel="noopener"&gt;Why Qlik doesn't support multiple interactive identity providers on a Qlik Cloud tenant&lt;/A&gt;, only one interactive identity provider can be enabled at any one time for Qlik Cloud (Which includes Qlik Cloud Analytics and Qlik Talend Cloud Data Integration).&amp;nbsp; Without restating the points Dave made, the short answer is we do not plan to change this as we don't consider this good practice.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So, if your organisation needs to support multiple IDPs, what can you do?&amp;nbsp; There are many use-cases that require this, such as:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Providing access to external parties without adding them to your Organisation's IDP.&lt;/LI&gt;
&lt;LI&gt;OEM use-cases with customers who have their own IDPs&lt;/LI&gt;
&lt;LI&gt;Company mergers (This is one we've used ourselves a few times)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;These are just a few examples but this is a very common use case for most large organisations.&amp;nbsp; So what do you have to do?&amp;nbsp; Well, you could solve this with multiple tenants, but that's often a high-maintenance solution and isn't ideal.&amp;nbsp; That's why, as Dave mentioned, we recommend that customers use Identity federation to address this.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Identity Federation&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN&gt;Identity federation is a mechanism that links a user's identity across multiple identity management systems, allowing them to access different applications and resources without needing separate logins or credentials.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Almost all major providers support this.&amp;nbsp; For example, these IDPs all support federation:&lt;/P&gt;
&lt;DIV class="zMgcWd dSKvsb" data-il=""&gt;
&lt;DIV data-crb-p=""&gt;
&lt;DIV class="xFTqob"&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI class="Gur8Ad"&gt;Microsoft Entra ID&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Google Workspace&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Okta&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Auth0&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Ping Identity&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;OneLogin&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Amazon Cognito&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;IBM Cloud Identity&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Cisco Duo&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Microsoft ADFS (Active Directory Federation Services)&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="zMgcWd dSKvsb" data-il=""&gt;
&lt;DIV data-crb-p=""&gt;
&lt;DIV class="xFTqob"&gt;
&lt;H3 class="Gur8Ad"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Case Study - KeyCloak Federating with Auth0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;DIV class="Gur8Ad"&gt;So, how complex is this and how does it look to my users and Qlik Cloud tenant?&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;I set up a simple example of this using KeyCloak and Auth0. The way this works is:&lt;/DIV&gt;
&lt;OL&gt;
&lt;LI class="Gur8Ad"&gt;The user tries to connect to their Qlik Cloud tenant&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;Qlik sends the user to KeyCloak for authentication&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak provides the user the option to either log in directly with KeyCloak or be directed to Auth0 to log in.&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;After logging in, KeyCloak received user metadata, such as e-mail, groups, etc.&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;KeyCloak then provides this to Qlik Cloud&lt;/LI&gt;
&lt;LI class="Gur8Ad"&gt;The user gains access to Qlik Cloud.&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_0-1747717044796.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180579i02F2075B3341E767/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_0-1747717044796.png" alt="Leigh_Kennedy_0-1747717044796.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;While this is not a 'how-to' article, at a high level, what I've set up is:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;KeyCloak is the IDP for my Qlik Cloud tenant:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_1-1747718291654.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180580i6910160624348240/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_1-1747718291654.png" alt="Leigh_Kennedy_1-1747718291654.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;In Keycloak I have my Groups and users set up as group members:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_2-1747718515225.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180581iCBC599F18041B3B5/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_2-1747718515225.png" alt="Leigh_Kennedy_2-1747718515225.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_4-1747718612436.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180583i335B917D3635435D/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_4-1747718612436.png" alt="Leigh_Kennedy_4-1747718612436.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_3-1747718567534.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180582i52FF528E923163A9/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_3-1747718567534.png" alt="Leigh_Kennedy_3-1747718567534.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;And I have also set up Auth0 as an Identity provider for KeyCloak:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_0-1747723232958.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180599iE1FEEAF49CE05CBA/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_0-1747723232958.png" alt="Leigh_Kennedy_0-1747723232958.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;And hard-coded the 'External' group to any users coming from Auth0:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_6-1747718856532.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180585i3C297F8174B3BD22/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_6-1747718856532.png" alt="Leigh_Kennedy_6-1747718856532.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BR /&gt;
&lt;P&gt;This may not always be what you want to do.&amp;nbsp; You may wish to use the groups coming from Auth0 also, and that is possible, but not needed for my use case.&lt;/P&gt;
&lt;P&gt;Finally, here are my users set up in Auth0:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_7-1747719045047.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180586i1634B05646C963DE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_7-1747719045047.png" alt="Leigh_Kennedy_7-1747719045047.png" /&gt;&lt;/span&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;User Experience and Security&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;So what happens when I log in?&lt;/P&gt;
&lt;P&gt;First, let's look at &lt;A href="mailto:jane@qmi.com" target="_blank" rel="noopener"&gt;jane@qmi.com&lt;/A&gt;.&amp;nbsp; Jane is set up in KeyCloak. After opening the URL for our Qlik Cloud tenant, I am redirected to the keycloak login screen:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_8-1747719193185.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180587iED6240B5C6FA2A90/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_8-1747719193185.png" alt="Leigh_Kennedy_8-1747719193185.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I can log in directly here or choose to sign in with Auth0.&amp;nbsp; Jane logs into KeyCloak directly and is then sent back to the Qlik Tenant:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Leigh_Kennedy_9-1747719342741.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180588i2A9FED66A4E66888/image-size/large?v=v2&amp;amp;px=999" role="button" title="Leigh_Kennedy_9-1747719342741.png" alt="Leigh_Kennedy_9-1747719342741.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To understand what information Qlik Clouid has been provided, we can append "/api/v1/diagnose-claims" to the end of our tenant URL. This will show us the metadata Qlik has received about Jane, such as:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_10-1747719530667.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180589iD82D43DE09F5EB5F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_10-1747719530667.png" alt="Leigh_Kennedy_10-1747719530667.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We are most concerned about Jane's groups, as that is how we will control access. Jane is in the Finance and Human Resources groups.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In our tenant, we have the following spaces and access rules:&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;&lt;STRONG&gt;Space Name&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;&lt;STRONG&gt;Space Type&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;&lt;STRONG&gt;Groups with Access&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="47px"&gt;External&lt;/TD&gt;
&lt;TD width="25%" height="47px"&gt;Managed&lt;/TD&gt;
&lt;TD width="50%" height="47px"&gt;External:&amp;nbsp; Read Only&lt;BR /&gt;&lt;BR /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;External_development&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Finance: full access&lt;BR /&gt;Sales: full access&lt;BR /&gt;Human Resources: full access&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Finance&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Finance:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Sales&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Sales:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="25%" height="25px"&gt;Human Resources&lt;/TD&gt;
&lt;TD width="25%" height="25px"&gt;Shared&lt;/TD&gt;
&lt;TD width="50%" height="25px"&gt;Human Resources:&amp;nbsp;Read Only&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So Jane sees the Finance, Human Resources, and External_development spaces:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_12-1747720650835.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180591iFB07D1E82A4802F2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_12-1747720650835.png" alt="Leigh_Kennedy_12-1747720650835.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;What happens when a user logs in through Auth0? This time&amp;nbsp;&lt;A href="https://manage.auth0.com/dashboard/au/lkn/users/YXV0aDAlN0M2ODJiZjk2YzMwY2JlM2JmM2VmZGM2ODI" target="_blank" rel="noopener"&gt;joe.public@company1.com&lt;/A&gt;&amp;nbsp;will log in via Auth0:&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_0-1747721429306.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180595i1A4820A42A11F6B7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_0-1747721429306.png" alt="Leigh_Kennedy_0-1747721429306.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="Gur8Ad"&gt;
&lt;P&gt;As this user has never logged in before, KeyCloak asks for some details:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_1-1747721463955.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180596i8443DCDB088E715B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_1-1747721463955.png" alt="Leigh_Kennedy_1-1747721463955.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After logging in, we can look at the&amp;nbsp;"/api/v1/diagnose-claims" endpoint to see the user's metadata.&amp;nbsp; We see the External group, which we hard-coded for Auth0 users in KeyCloak:&lt;/P&gt;
&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_2-1747721474974.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180597iE9B0AB2DABA46931/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_2-1747721474974.png" alt="Leigh_Kennedy_2-1747721474974.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And when looking at the user's space access, we can only see the External space as expected:&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Leigh_Kennedy_3-1747721688707.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/180598iB426BDFB918B70CC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Leigh_Kennedy_3-1747721688707.png" alt="Leigh_Kennedy_3-1747721688707.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Final Thoughts&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;This is a simple example I put together in a couple of hours. I selected KeyCloak and Auth0 simply because I have some experience with them - most IDPs could do this (and also, I could have chosen to reverse the order and have Auth0 as the primary IDP).&lt;/P&gt;
&lt;BLOCKQUOTE class="quote"&gt;Neither Qlik nor I make any specific recommendations as to what identity providers customers should use.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;While we haven't looked at it here, it's also possible to use social services (such as LinkedIn, GitHub, Facebook, etc.) as external Identity providers, which may well be a better solution for some use-cases. And you can support many of these at the same time as your needs require.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you require assistance in this, your friendly neighbourhood Qlik Services team can assist, as can our partners.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 22 May 2025 22:45:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Using-Multiple-concurrent-Identity-Providers-with-Qlik-Cloud/ta-p/2518278</guid>
      <dc:creator>Leigh_Kennedy</dc:creator>
      <dc:date>2025-05-22T22:45:34Z</dc:date>
    </item>
  </channel>
</rss>

