<div dir="ltr">Hi Stian.  Thanks very much for the clarification.  I think I better understand how the users are federated.<div><br></div><div>With respect to the following statement in the document (section 9.1) ...</div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">When using Keycloak as an identity broker, users are not forced to provide their credentials in order to authenticate in a specific realm.</blockquote></blockquote><div><p>Does that mean that users can be authenticated without providing a specific Realm?  I presume you still need to use a Realm to support role mapping, but can a federated, authenticated user be ported across Realms?</p><p>The context of my question is this:  I&#39;m trying to get my head around multi-tenacy.  I am looking at the feasibility of having a single deployment of an application that supports multiple tenants, with the Identity Provider reliant on the user logging in.  So, users 1-10 are from Site A and want to use Identity Provider A, 11-20 are from Site B and want to use Identity Provider B.  Sites A &amp; B have their own Realm, so roles can be defined as they want.  There&#39;s also a desire for a user to be able to have access to Sites A and B (not at the same time) with potentially different permissions/roles.  But, that&#39;s later down the track.</p><p>If the application can somehow handle associating a user with the sites they are allowed to access, then it could also manage the Realm to use (hopefully, using the Classes/Interfaces specified in the Multi-Tenancy section of the doco).  But, does that mean that the user would log in (authenticate) first and then pick which site (and thus which Realm) they want to view?  Can that initial authentication, when using an Identity Broker, take place without specifying a Realm?  Or is there a default Realm which is used first, with the subsequent tokens passed on to the other Realms accessed (if that&#39;s even a thing)?</p><p>Or, will we have select, up front, the Site (ie, Realm) they want to access before they work through the authentication workflow?</p><p>Sorry for the lengthy question. </p><p>Thanks,</p><p>Ed</p></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 20, 2015 at 3:32 PM, Stian Thorgersen <span dir="ltr">&lt;<a href="mailto:stian@redhat.com" target="_blank">stian@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Ed Hillmann&quot; &lt;<a href="mailto:ed.hillmann@gmail.com">ed.hillmann@gmail.com</a>&gt;<br>
&gt; To: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; Sent: Monday, 20 July, 2015 7:15:43 AM<br>
&gt; Subject: [keycloak-user] When using an IdentityBroker<br>
&gt;<br>
&gt; Hi, I&#39;m going through the most recent doco, and I&#39;m looking at the<br>
</span><span class="">&gt; IdentityBroker section. So, having gone through the walkthrough, can someone<br>
&gt; tell me if I&#39;m on the right track.<br>
&gt;<br>
&gt; So, step #8 states that &quot;Keycloak is going to check if the response from the<br>
&gt; identity provider is valid. If valid, it will create an user or just skip<br>
&gt; that if the user already exists&quot;.<br>
&gt;<br>
&gt; Does that mean that KeyCloak will have a User, against which roles can be<br>
&gt; mapped? This will be a user that would be, for example, displayed in the<br>
&gt; admin console just like any locally-defined User?<br>
<br>
</span>Yes<br>
<span class=""><br>
&gt;<br>
&gt; I&#39;m trying to piece this all together, from where we can start assigning<br>
&gt; roles to these users whose authentication has been performed by an external<br>
&gt; IdentityProvider.<br>
&gt;<br>
&gt; Following on from that, the user would continue to authenticate against the<br>
&gt; Identity Provider? If they already exist, that&#39;s mentioned later on it the<br>
&gt; same text where the accounts are linked?<br>
<br>
</span>There&#39;s is no automatic linking of accounts. There&#39;s two scenarios basically:<br>
<br>
* A user with same email address exists - in this case a error message is displayed to the user and user would have to login to account management and link to the identity provider from there<br>
* The user has already logged-in with the identity provider - in this case a user is already linked to the identity provider and the user is logged-in<br>
<br>
The same user can also authenticate with different methods. It&#39;s possible to login to the same account with username/password as well as multiple identity providers (linked through account management).<br>
<br>
With regards to setting up roles these can either be added through admin console manually or added automatically either by using default roles or using mappers.<br>
<span class=""><br>
&gt;<br>
&gt; If I&#39;ve got this wrong, please let me know. :)<br>
&gt;<br>
&gt; Thanks for any help,<br>
&gt; Ed<br>
&gt;<br>
</span>&gt; _______________________________________________<br>
&gt; keycloak-user mailing list<br>
&gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; <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>