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 >>> >> >