Hello Roberto, Thank you for initiating this integration. Can you prepare a small documentation (and also send to here) which helps contributors to understand the internals about your current commit. Regards. Gurkan
On Tue, Jan 8, 2019 at 6:14 PM Roberto Cortez <radcor...@yahoo.com.invalid> wrote: > Hi folks, > > I think I’m now done with the FormAuthentication. > > There are still things left to implement. At the moment, the code is part > of the project but is not part of the binary. I would like to merge the > current PR: > https://github.com/apache/tomee/pull/277 < > https://github.com/apache/tomee/pull/277> > > I think this will give a chance for the community to contribute some of > the missing pieces. I can make a list in JIRA. > > So, if there is no strong opinions about merging this, I will be doing > this in the end of the day. > > Cheers, > Roberto > > > On 30 Dec 2018, at 23:42, Roberto Cortez <radcor...@yahoo.com> wrote: > > > > Thanks! I’ll have a look! > > > >> On 28 Dec 2018, at 20:34, David Jencks <david.a.jen...@gmail.com> > wrote: > >> > >> Perhaps I didn’t recall correctly, or perhaps I implemented it for > Jetty (at eclipse). The code I’ve found at > http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/security/authentication/ > < > http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/security/authentication/> > includes a FormAuthenticator and a JaspiAuthenticator. I don’t recall any > details of how I modified tomcat’s auth setup: I might have made one that > was more adapted to JASPIC and the geronimo security framework than the > plain tomcat one. If this code is of any use to you, great, otherwise, > good luck! > >> > >> many thanks > >> David Jencks > >> > >>> On Dec 28, 2018, at 1:47 AM, Roberto Cortez > <radcor...@yahoo.com.INVALID> wrote: > >>> > >>> Hi David, > >>> > >>> Actually, the EE 8 Security spec tells you to use a JASPIC bridge > underneath the implementation, so your code might be a good fit. Can you > point me out to the sources so I can have a look? > >>> > >>> Thank you! > >>> > >>> Cheers, > >>> Roberto > >>> > >>>> On 28 Dec 2018, at 03:40, David Jencks <david.a.jen...@gmail.com> > wrote: > >>>> > >>>> IIRC I wrote a JASPIC form authentication for the geronimo server > long ago. Although the JASPIC deployment model was somewhat > incomprehensibly bizarre, the conversation model was very nice. Depending > on what the EE 8 api is (I haven’t looked) the JASPIC implementation might > be a source for webserver-independent code for from authentication that > could be easily adapted. > >>>> > >>>> David Jencks > >>>> > >>>>> On Dec 27, 2018, at 3:53 PM, Roberto Cortez > <radcor...@yahoo.com.INVALID> wrote: > >>>>> > >>>>> Update: > >>>>> > >>>>> I’ve started the implementation of the FormAuthenticationMechanism. > Is not as easy as it sounds, since it requires some conversation chat > across requests. I thought about wrapping all the logic and use the Tomcat > FormAuthenticator, since it does exactly what we need. Unfortunately, it is > too tied to the Tomcat code and it would require to instantiate a lot to > Tomcat objects to be able to use it. I’m not sure if it would be worth it. > I ended up following the spec suggestion to use a CDI interceptor and I’m > copying / reusing some pieces of the FormAuthentication when possible. > >>>>> > >>>>> PR updated: > >>>>> https://github.com/apache/tomee/pull/277 < > https://github.com/apache/tomee/pull/277> > >>>>> > >>>>> Cheers, > >>>>> Roberto > >>>>> > >>>>>> On 26 Dec 2018, at 22:11, Roberto Cortez > <radcor...@yahoo.com.INVALID> wrote: > >>>>>> > >>>>>> Hi folks, > >>>>>> > >>>>>> I’ve updated the PR with new changes: > >>>>>> > >>>>>> - I’ve implemented a CDI Extension to create > AuthenticationMechanism beans and a CDI class to keep track of the mapping > between the authentication mechanism and the servlet that should be > checked. When a Servlet is executed the mapping is checked and if there is > and associated AuthenticationMechanism, we validate the request with the > associated type (Basic, Form, etc). > >>>>>> > >>>>>> - Implemented the BasicAuthenticationMechanism and all the plumbing > required to be executed. This required an HttpMessageContext to pass > information around, plus store some state to make decisions on things to > do, including the CallbackHandler to pass in additional Callbacks to create > the Principal and Groups > >>>>>> > >>>>>> - A default IdentityStore, using the Tomcat UserDatabase, that > reads user data from tomcat-users.xml > >>>>>> > >>>>>> I’ll probably move to implement the missing > AuthenticationMechanisms (FORM and Custom) next. > >>>>>> > >>>>>> Any feedback, always welcomed :) > >>>>>> > >>>>>> Cheers, > >>>>>> Roberto > >>>>>> > >>>>>>> On 19 Dec 2018, at 10:00, Bruno Baptista <bruno...@gmail.com> > wrote: > >>>>>>> > >>>>>>> TomEE Security works for me. > >>>>>>> > >>>>>>> Bruno Baptista > >>>>>>> https://twitter.com/brunobat_ > >>>>>>> > >>>>>>> > >>>>>>> On 19/12/18 00:20, Roberto Cortez wrote: > >>>>>>>> Hi folks, > >>>>>>>> > >>>>>>>> Work is progressing. > >>>>>>>> > >>>>>>>> I’ve added a good chunk of the API (as needed) to allow me to > proceed. I’ve tried to use the Jakarta Security API jar. Unfortunately, it > is full of dependencies to the other Jakarta dependent projects, some not > in central yet, so I couldn’t even build the project. > >>>>>>>> > >>>>>>>> At the moment, I’ve added the structure to register a JASPIC > provider to serve as a bride to the Security implementation code. With a > CDI extension, we can register the required AuthenticationMechanisms and > then look them up to delegate the authentication code. > >>>>>>>> > >>>>>>>> I’ve also wrote a default IdentityStoreHandler to validate user > credentials and retrieve user groups. This is just going through the > container registered IdentityStores and using the spec rules to identify > the credentials. > >>>>>>>> > >>>>>>>> Right now, I’m just calling this TomEE Security. If someone has a > more fancy idea for a name, feel free to suggest it :) > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Roberto > >>>>>>>> > >>>>>>>>> On 14 Dec 2018, at 23:44, Roberto Cortez > <radcor...@yahoo.com.INVALID> wrote: > >>>>>>>>> > >>>>>>>>> Hi folks, > >>>>>>>>> > >>>>>>>>> I’ve now created a PR to push the work: > >>>>>>>>> https://github.com/apache/tomee/pull/277 < > https://github.com/apache/tomee/pull/277> > >>>>>>>>> > >>>>>>>>> It is still in the early stages. I’ve just spent a good amount > of time trying to understand the spec. The ideia here is that with a > ServerAuthModule we could verify each of the spec authentication mechanisms > that will be implemented with a CDI Bean and use a CDI Extension to create > the bean depending on the annotation you use. > >>>>>>>>> > >>>>>>>>> Cheers, > >>>>>>>>> Roberto > >>>>>>>>> > >>>>>>>>>> On 13 Dec 2018, at 16:06, Roberto Cortez > <radcor...@yahoo.com.INVALID> wrote: > >>>>>>>>>> > >>>>>>>>>> Hi folks, > >>>>>>>>>> > >>>>>>>>>> I’ve created https://jira.apache.org/jira/browse/TOMEE-2365 < > https://jira.apache.org/jira/browse/TOMEE-2365> to implement the Java EE > Security API that came up in EE 8. We are missing this spec implementation, > and until we have it we cannot even say we are EE 8 compatible. > >>>>>>>>>> > >>>>>>>>>> I plan to start working on this. If anyone wants to collaborate > with me, let me know. > >>>>>>>>>> > >>>>>>>>>> Cheers, > >>>>>>>>>> Roberto > >>>>>> > >>>>> > >>>> > >>> > >> > > > >