<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 11 February 2016 at 17:51, Scott Rossillo <span dir="ltr">&lt;<a href="mailto:srossillo@smartling.com" target="_blank">srossillo@smartling.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi,<div><br></div><div>The example omits securing the endpoints for simplicity demonstrating the concepts. I’d suggest using some type of security though on the legacy system if the endpoints are publicly accessible though.</div></div></blockquote><div><br></div><div>There&#39;s this thing called Keycloak that may be useful for that ;)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div><div>Best,</div><div>Scott</div><div><span class="HOEnZb"><font color="#888888"><br><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Scott Rossillo</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Smartling | Senior Software Engineer</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="mailto:srossillo@smartling.com" target="_blank">srossillo@smartling.com</a></div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
</div>
</div></div></font></span><div><div class="h5"><br><div><blockquote type="cite"><div>On Feb 11, 2016, at 9:35 AM, Reed Lewis &lt;<a href="mailto:RLewis@carbonite.com" target="_blank">RLewis@carbonite.com</a>&gt; wrote:</div><br><div>



<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>The endpoint that is used by the federation provider is only called from Keycloak, so you can run it on localhost on the keycloak machine if that is going to work for you.</div>
<div><br>
</div>
<div>OTOH, if you need to run it on a different machine, you can lock down the endpoint to only be accessible from the Keycloak server.</div>
<div><br>
</div>
<div>End users never call the endpoint I documented.</div>
<div><br>
</div>
<div>Reed</div>
<div>
<div></div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:12pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>&lt;<a href="mailto:darkness.renann@gmail.com" target="_blank">darkness.renann@gmail.com</a>&gt; on behalf of Renann Prado &lt;<a href="mailto:prado.renann@gmail.com" target="_blank">prado.renann@gmail.com</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Thursday, February 11, 2016 at 8:17 AM<br>
<span style="font-weight:bold">To: </span>Reed Lewis &lt;<a href="mailto:RLewis@carbonite.com" target="_blank">RLewis@carbonite.com</a>&gt;<br>
<span style="font-weight:bold">Cc: </span>&quot;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&quot; &lt;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&gt;, Stuart Jacobs &lt;<a href="mailto:stuart.jacobs@symbiotics.co.za" target="_blank">stuart.jacobs@symbiotics.co.za</a>&gt;<br>
<span style="font-weight:bold">Subject: </span>Re: [keycloak-user] User-Federation<br>
</div>
<div><br>
</div>
<div>
<div><p dir="ltr">Everyone*</p>
<div class="gmail_quote">On Feb 11, 2016 11:16, &quot;Renann Prado&quot; &lt;<a href="mailto:prado.renann@gmail.com" target="_blank">prado.renann@gmail.com</a>&gt; wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Is there any recommended way to make sure these endpoints won&#39;t be spammed by an attacker? Looks like these endpoints need to be open to anyone.</p><p dir="ltr">Thanks</p>
<div class="gmail_quote">On Feb 3, 2016 11:18, &quot;Reed Lewis&quot; &lt;<a href="mailto:RLewis@carbonite.com" target="_blank">RLewis@carbonite.com</a>&gt; wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>If you use the federation provider listed here:</div>
<div><br>
</div>
<div>
<div style="font-family:Calibri">[0]: <a href="http://tech.smartling.com/migrate-to-keycloak-with-zero-downtime/" target="_blank">http://tech.smartling.com/migrate-to-keycloak-with-zero-downtime/</a></div>
<div style="font-family:Calibri">[1]: <a href="https://github.com/Smartling/keycloak-user-migration-provider" target="_blank">https://github.com/Smartling/keycloak-user-migration-provider</a></div>
</div>
<div><br>
</div>
<div>You can specify a URL that will be called when a user needs to be validated.</div>
<div><br>
</div>
<div>There are three requests that need to be implemented in your sever.</div>
<div><br>
</div>
<div>GET &lt;baseURL&gt;/api/users/&lt;username&gt;/</div>
<div>If the user exists, it should return a 200 with a json object with the return type “application/json” with the following fields:</div>
<div>username</div>
<div>email</div>
<div>emailVerified</div>
<div>
<div></div>
</div>
</div>
<div>firstName</div>
<div>lastName</div>
<div>roles [“user”]</div>
<div><br>
</div>
<div>If the user does not exist, return a 404 </div>
<div><br>
</div>
<div>HEAD &lt;baseURL&gt;/api/users/&lt;username&gt;/</div>
<div>Always return 200</div>
<div><br>
</div>
<div>POST &lt;baseURL&gt;/api/users/&lt;username&gt;/</div>
<div>The password is posted to you in a json object.</div>
<div>Return 200 if the password is OK, 401 if not.  In both cases return no data.</div>
<div><br>
</div>
<div>I wrote a small python module which implements these methods which works quite well.</div>
<div><br>
</div>
<div>Reed</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:12pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>&lt;<a href="mailto:keycloak-user-bounces@lists.jboss.org" target="_blank">keycloak-user-bounces@lists.jboss.org</a>&gt; on behalf of Stuart Jacobs &lt;<a href="mailto:stuart.jacobs@symbiotics.co.za" target="_blank">stuart.jacobs@symbiotics.co.za</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Wednesday, February 3, 2016 at 2:40 AM<br>
<span style="font-weight:bold">To: </span>&quot;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&quot; &lt;<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&gt;<br>
<span style="font-weight:bold">Subject: </span>[keycloak-user] User-Federation<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">Hi Everyone,
<div><br>
</div>
<div>I have an application that runs on a postgresql database, keycloak has been configured and has created all the required tables/columns in my schema using liquibase on start up of the keycloak server.</div>
<div><br>
</div>
<div>I need to authenticate users using the projects existing user table obtaining the username and password from this table.</div>
<div><br>
</div>
<div>I have had a look at the federation provider project under the example projects but this still eludes me as to how I change the keycloak mapping to use my own tables in postgress?</div>
<div><br>
</div>
<div>Can someone please point me in the right direction or if someone has implemented such a solution please share how you have done it?</div>
<div><br>
</div>
<div>Thanks everyone. <br clear="all">
<div>
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div><br>
  Regards,<br>
</div>
  Stuart Jacobs</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<img height="56" width="200"><br>
<br>
<a href="http://www.symbiotics.co.za/" target="_blank">www.symbiotics.co.za</a><br>
********************************************************************************<br>
This email and any accompanying attachments may contain confidential and proprietary information. This information is private and protected by law and, accordingly, if you are not the intended recipient, you are requested to delete this entire communication
 immediately and are notified that any disclosure, copying or distribution of or taking any action based on this information is prohibited.
<br>
<br>
Emails cannot be guaranteed to be secure or free of errors or viruses. The sender does not accept any liability or responsibility for any interception, corruption, destruction, loss, late arrival or incompleteness of or tampering or interference with any of
 the information contained in this email or for its incorrect delivery or non-delivery for whatsoever reason or for its effect on any electronic device of the recipient.
<br>
<br>
******************************************************************************** </div>
</div>
</span></div>
<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>
</blockquote>
</div>
</div>
</div>
</span>
</div>

_______________________________________________<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" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a></div></blockquote></div><br></div></div></div></div><br>_______________________________________________<br>
keycloak-user mailing list<br>
<a href="mailto:keycloak-user@lists.jboss.org">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>