<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Why do you say &quot;<span style="font-size:12.8px">very hard to get App1 to support multiple realms (no adapter or </span><span style="font-size:12.8px">keycloak support)&quot;?  </span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Keycloak does provide multi-tenancy support via the KeycloakConfigResolver.  See </span><span style="font-size:12.8px"><a href="https://github.com/keycloak/keycloak/tree/master/examples/multi-tenant" target="_blank">https://github.com/keycloak/keycloak/tree/master/examples/multi-tenant</a>.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">The issue would be if your app can&#39;t use a keycloak adapter.</span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 9, 2016 at 10:05 AM, Jesse Chahal <span dir="ltr">&lt;<a href="mailto:jessec@stytch.com" target="_blank">jessec@stytch.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I&#39;m back again. I&#39;m trying to figure out how scale Identity Providers.<br>
We are planning on trying to integrate our App1 with salesforce. A<br>
user who logs into salesforce should be able to have a native feel of<br>
our App1 within it. Todo this we&#39;ll probably have to end up building<br>
salesforce native apps. For every salesforce organization/licensee we<br>
will have to register an Identity provider with keycloak to make sure<br>
they can correctly use App1. Some configuration options we came up<br>
with are listed below. Has anyone else solved a similar problem?<br>
<br>
OPTION 1<br>
########################################################<br>
# Keycloak<br>
                              #<br>
# ---&gt; master realm<br>
                          #<br>
# ---&gt; realm 1<br>
                              #<br>
# --- ---&gt; app1_client (open ID)<br>
                     #<br>
# --- ---&gt; salesforce_org1_saml2.0_identity_provider                          #<br>
# --- ---&gt; salesforce_org2_saml2.0_identity_provider                          #<br>
#<br>
                                     #<br>
# Salesforce<br>
                              #<br>
# ---&gt; org1<br>
                                #<br>
# ---- ----&gt; salesforce_appX (uses App1)<br>
              #<br>
# ---&gt; org 2<br>
                                #<br>
# ---- ----&gt; salesforce_appX (uses App1)<br>
              #<br>
# ---- ----&gt; salesforce_appY (uses App1)<br>
              #<br>
# .....<br>
                                     #<br>
#<br>
                                     #<br>
# App 1<br>
                                 #<br>
# ---&gt; OpenID to realm1 (using adapter)<br>
              #<br>
########################################################<br>
benefits<br>
- single login page<br>
- single realm<br>
cons<br>
- login page with infinite number of identity provider buttons present<br>
<br>
<br>
OPTION 2<br>
########################################################<br>
# Keycloak<br>
                              #<br>
# ---&gt; master realm<br>
                          #<br>
# ---&gt; realm 1<br>
                              #<br>
# --- ---&gt; app1_client (open ID)<br>
                     #<br>
# --- ---&gt; salesforce_org1_saml2.0_identity_provider                          #<br>
# ---&gt; realm 2<br>
                              #<br>
# --- ---&gt; app1_client (open ID)<br>
                     #<br>
# --- ---&gt; salesforce_org2_saml2.0_identity_provider                          #<br>
#<br>
                                     #<br>
# Salesforce<br>
                              #<br>
# ---&gt; org1<br>
                                #<br>
# ---- ----&gt; salesforce_appX (uses App1)<br>
              #<br>
# ---&gt; org 2<br>
                                #<br>
# ---- ----&gt; salesforce_appX (uses App1)<br>
              #<br>
# ---- ----&gt; salesforce_appY (uses App1)<br>
              #<br>
# .....<br>
                                     #<br>
#<br>
                                     #<br>
# App 1<br>
                                 #<br>
# ---&gt; OpenID to realm1, realm2, realm#.... (using adapter)                #<br>
########################################################<br>
benefits<br>
- single salesforce button per login page<br>
- users are more isolated in single realm<br>
cons<br>
- very hard to get App1 to support multiple realms (no adapter or<br>
keycloak support)<br>
_______________________________________________<br>
keycloak-user mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
</blockquote></div><br></div>
</div></div></div><br></div>