<div dir="ltr">Oh, interesting. I&#39;ll look into that.<div><br></div><div>I&#39;ll make sure to not include so many users, it&#39;s just so I can keep testing keycloak with our application here :)</div><div><br></div><div>
Thank you very much!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 17, 2014 at 8:33 AM, 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">Currently we don&#39;t support importing users into an existing realm, but you can import a complete realm config including users.<br>

<br>
Have a look at <a href="https://github.com/keycloak/keycloak/blob/master/testsuite/integration/src/test/resources/testrealm.json" target="_blank">https://github.com/keycloak/keycloak/blob/master/testsuite/integration/src/test/resources/testrealm.json</a>. This includes the realm, a few apps/clients, roles, scope mappings, users and user role mappings. You can import this either by running keycloak with -Dkeycloak.import=&lt;path to json file&gt; or through the admin console by selecting add realm and using the upload option.<br>

<br>
It will only work if the realm doesn&#39;t already exist, and it&#39;s not very efficient at the moment (everything is loaded into memory and written to the db in one transaction).<br>
<div class="im HOEnZb"><br>
----- Original Message -----<br>
&gt; From: &quot;Rodrigo Sasaki&quot; &lt;<a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a>&gt;<br>
</div><div class="HOEnZb"><div class="h5">&gt; To: &quot;Stian Thorgersen&quot; &lt;<a href="mailto:stian@redhat.com">stian@redhat.com</a>&gt;<br>
&gt; Cc: &quot;Bill Burke&quot; &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt;, <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; Sent: Tuesday, 17 June, 2014 12:23:08 PM<br>
&gt; Subject: Re: [keycloak-user] Roles Integration<br>
&gt;<br>
&gt; That would be really awesome, thanks :)<br>
&gt;<br>
&gt; But just for now, could you tell me how to do it with the JSON like you<br>
&gt; previously suggested? That way I can import a sample of my users in my dev<br>
&gt; environment so I can keep on testing it out.<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Jun 17, 2014 at 6:12 AM, Stian Thorgersen &lt;<a href="mailto:stian@redhat.com">stian@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; We&#39;re currently working on performance testing and need to investigate how<br>
&gt; &gt; Keycloak handles with large amounts of users. We&#39;ll also look at importing<br>
&gt; &gt; such a large amount of users into the db.<br>
&gt; &gt;<br>
&gt; &gt; We&#39;ll look at this over the next week and get back to you :)<br>
&gt; &gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; From: &quot;Rodrigo Sasaki&quot; &lt;<a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a>&gt;<br>
&gt; &gt; &gt; To: &quot;Bill Burke&quot; &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt;<br>
&gt; &gt; &gt; Cc: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; Sent: Monday, 16 June, 2014 8:21:06 PM<br>
&gt; &gt; &gt; Subject: Re: [keycloak-user] Roles Integration<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Just to be more specific, our mapping here is really simple.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; We have 1 table with the users, one with the roles, and a third one that<br>
&gt; &gt; maps<br>
&gt; &gt; &gt; them both together.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Thank you for trying to help!<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Mon, Jun 16, 2014 at 12:44 PM, Rodrigo Sasaki &lt;<br>
&gt; &gt; <a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a> &gt;<br>
&gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; They are all stored in a table on a RDBMS<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Mon, Jun 16, 2014 at 12:34 PM, Bill Burke &lt; <a href="mailto:bburke@redhat.com">bburke@redhat.com</a> &gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; These 20 Million users: Are they stored in a RDBMS? LDAP?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 6/16/2014 11:28 AM, Bill Burke wrote:<br>
&gt; &gt; &gt; &gt; Nice! You will be a great reference for us. We&#39;ll make it happen.<br>
&gt; &gt; &gt; &gt; Just remind us of this every time we&#39;re lax answering your questions :)<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 6/16/2014 10:44 AM, Rodrigo Sasaki wrote:<br>
&gt; &gt; &gt; &gt;&gt; We have about 15 roles and over 20 million users<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; On Mon, Jun 16, 2014 at 11:32 AM, Stian Thorgersen &lt; <a href="mailto:stian@redhat.com">stian@redhat.com</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:stian@redhat.com">stian@redhat.com</a> &gt;&gt; wrote:<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; ----- Original Message -----<br>
&gt; &gt; &gt; &gt;&gt; &gt; From: &quot;Rodrigo Sasaki&quot; &lt; <a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a> &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; To: &quot;Stian Thorgersen&quot; &lt; <a href="mailto:stian@redhat.com">stian@redhat.com</a> &lt;mailto: <a href="mailto:stian@redhat.com">stian@redhat.com</a><br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; Cc: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a> &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; Sent: Monday, 16 June, 2014 3:27:43 PM<br>
&gt; &gt; &gt; &gt;&gt; &gt; Subject: Re: [keycloak-user] Roles Integration<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; That&#39;s an interesting suggestion, but how would I do that if the<br>
&gt; &gt; &gt; &gt;&gt; databases<br>
&gt; &gt; &gt; &gt;&gt; &gt; are very different?<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; Just remembering that I want to integrate the user role mappings,<br>
&gt; &gt; &gt; &gt;&gt; and not<br>
&gt; &gt; &gt; &gt;&gt; &gt; just the roles themselves.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Makes sense, roles are not worth much if no users have mappings to<br>
&gt; &gt; &gt; &gt;&gt; them ;)<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; Should I create a JSON from my database following a specific<br>
&gt; &gt; &gt; &gt;&gt; format to<br>
&gt; &gt; &gt; &gt;&gt; &gt; import it into Keycloak?<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; Yes, that&#39;s the idea. Roughly how many users and roles do you have?<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; On Mon, Jun 16, 2014 at 6:01 AM, Stian Thorgersen<br>
&gt; &gt; &gt; &gt;&gt; &lt; <a href="mailto:stian@redhat.com">stian@redhat.com</a> &lt;mailto: <a href="mailto:stian@redhat.com">stian@redhat.com</a> &gt;&gt; wrote:<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; The only way to do that at the moment would be to import the<br>
&gt; &gt; &gt; &gt;&gt; data into the<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; Keycloak database. The easiest way to do this would be to<br>
&gt; &gt; &gt; &gt;&gt; export your<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; database to json and import into Keycloak.<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; If this is something you want to do, let me know and we can<br>
&gt; &gt; &gt; &gt;&gt; give you some<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; instructions, maybe also an example, on how to do this.<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; From: &quot;Rodrigo Sasaki&quot; &lt; <a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:rodrigopsasaki@gmail.com">rodrigopsasaki@gmail.com</a> &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; To: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a> &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Sent: Friday, 13 June, 2014 3:39:55 PM<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Subject: [keycloak-user] Roles Integration<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; I needed to migrate accounts from an old database to<br>
&gt; &gt; &gt; &gt;&gt; authenticate with<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Keycloak, and I implemented my own provider of the<br>
&gt; &gt; &gt; &gt;&gt; Authentication SPI,<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; which<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; worked fine.<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Now what should I do if I need to migrate the roles from<br>
&gt; &gt; &gt; &gt;&gt; those accounts<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; aswell? Is there a suggested flow that I should follow?<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; Rodrigo Sasaki<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; keycloak-user mailing list<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt;&gt; &lt;mailto: <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a> &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt; &gt; &gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt; &gt; --<br>
&gt; &gt; &gt; &gt;&gt; &gt; Rodrigo Sasaki<br>
&gt; &gt; &gt; &gt;&gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; --<br>
&gt; &gt; &gt; &gt;&gt; Rodrigo Sasaki<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; _______________________________________________<br>
&gt; &gt; &gt; &gt;&gt; keycloak-user mailing list<br>
&gt; &gt; &gt; &gt;&gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Bill Burke<br>
&gt; &gt; &gt; JBoss, a division of Red Hat<br>
&gt; &gt; &gt; <a href="http://bill.burkecentral.com" target="_blank">http://bill.burkecentral.com</a><br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; keycloak-user mailing list<br>
&gt; &gt; &gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Rodrigo Sasaki<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Rodrigo Sasaki<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; keycloak-user mailing list<br>
&gt; &gt; &gt; <a href="mailto:keycloak-user@lists.jboss.org">keycloak-user@lists.jboss.org</a><br>
&gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Rodrigo Sasaki<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><font face="Times New Roman">Rodrigo Sasaki</font><div></div></div>
</div>