<div dir="ltr"><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">Hi,</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
<br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">I currently contribute to a Java library from Jerome Leleu, able to protect applications and delegate authentications to various identity providers. It currently supports 5 different protocols: CAS, OAuth, OpenID, HTTP and SAML and 18 identity providers (Facebook, Twitter, Google, Yahoo...) through a very simple and unified API accross protocols/JVM frameworks: <a href="https://github.com/leleuj/pac4j" target="_blank" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;text-decoration:none;color:rgb(102,17,204)">https://github.com/leleuj/pac4j</a>.</div>
<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
The pac4j librairies are used in various JVM frameworks with the appropriate implementations: Spring Security, Shiro, CAS, J2E and Play. Although the core pac4j librairies gathers &quot;a lot of&quot; code (300 classes, 26000 lines of source code), the implementations to specific JVM frameworks are pretty straigtforward: from 4 classes for Spring Security to 11 classes for Play Framework 2.x.</div>
<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
We are currently targeting new plateforms and especially async one; we got an implementation from ratpack (<a href="http://www.ratpack.io/">http://www.ratpack.io/</a>) and we discussed also with the guys from vert.x. They gave us some ideas in order to improve our library by becoming more &quot;reactive&quot;.</div>
<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px"> <br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
I think that pac4j could be helpful for the Undertow community too by bringing client multi-protocols support.</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
<br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">I looked at the security model from Undertow and I start to think about a possible integration by developing a &quot;Pac4jAuthenticationMechanism&quot;.</div>
<div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px"><br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
What do you think about such development? Are you interested in a demo app showing how this could work? Do you have suggestions?</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
<br></div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">Thanks.</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">
Best regards,</div><div style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Arial,Helvetica,sans-serif;font-size:13px">Michael Remond</div></div>