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