Hi David,

I can absolutely understand that this is a bit much to ask for to review. I think this is what really needs a closer look and maybe needs to be discussed:

- JWT Validation is using jose.4.j, this introduces a new dependency in all tomee flavours (wasn't in webprofile before). Maybe it needs to be added in some notice file? - Spec mentions a special variable that can be used in the annotation: ${baseURL}, I implemented this with producing an @Named String - I built a basic delegate in OpenIdAuthenticationMechanismDefinitionDelegate that automatically resolves the configuration from the openid provider - SavedRequest (originally from @LoginToContinue) has been rewritten so I can serialize it for use in cookies - Spec is ambiguous on how to handle subjectTypeSupported, idTokenSigningAlgorithmsSupported and responseTypeSupported (See CompositeOpenIdProviderMetadata). A user can override these, but it's not obvious if that has been done or not. I handled these the same way soteria does, but it's probably worth a spec issue in the future? - Requests to openid provider are done using JAX-RS Client, maybe we want to use something else in TomEE? Really the only reason I chose this was because it's convenient


I appreciate any feedback, will also put this bullet point list in the PR so it gets some visibility there. The PR is already pretty big so I'm on your side to merge if it doesn't break anything, reviewing this just gets harder and harder with every commit I add.


Thanks

Markus

On 12.06.24 00:36, David Blevins wrote:
Are there specific parts you'd like eyes on?  Maybe some things you imaged 
could be done a few different ways and chose one hoping for feedback if it 
wasn't right?  Perhaps any new deployment or runtime concepts that were added?


-David

On Jun 11, 2024, at 3:33 PM, David Blevins <david.blev...@gmail.com> wrote:

I've only had a change to take a cursory look at the PR, but I was immediately 
impressed.

I can't thank you enough -- what an amazing undertaking!

It might be crickets getting a review for a PR that big especially given our 
starved state, so as long as you're a good sport about changes to the code 
after it's merged I suspect we should just merge it and see what breaks.  
Totally ok to leave it open for a bit as well.

What an amazing contribution, Markus.  Seriously.  Huge applause.


-David

On Jun 2, 2024, at 8:34 AM, Markus Jung <ju...@apache.org> wrote:

Hi all,

small update after a long time of silence, my implementation now passes the 
(admittedly very few) openid tests in the TCK:
[INFO] Reactor Summary for Jakarta Security TCK - main 3.0.1:
[INFO]
[INFO] Jakarta Security TCK - main ........................ SUCCESS [  2.725 s]
[INFO] common ............................................. SUCCESS [  0.748 s]
[INFO] app-openid ......................................... SUCCESS [  6.556 s]
[INFO] app-openid2 ........................................ SUCCESS [ 15.742 s]
[INFO] app-openid3 ........................................ SUCCESS [ 14.100 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  39.986 s
[INFO] Finished at: 2024-06-02T17:24:15+02:00
[INFO] ------------------------------------------------------------------------


I've opened a pull request in the meantime here 
https://github.com/apache/tomee/pull/1178 to gather some feedback, the 
implementation is pretty much done IMO.
However I'd like to add more unit/integration tests and clean up the code a bit 
more, that's why I'm keeping the PR in draft state for now.


Thanks

Markus

On 20. Apr 2024, at 16:13, Richard Zowalla <r...@apache.org> wrote:

Cool! Thanks, Markus!
Feel free to ask any question you might come across while implementing!

Am Freitag, dem 19.04.2024 um 17:14 +0200 schrieb Markus Jung:
Hey all,

just a quick heads up, i've began trying to work on this a couple of
days ago here: https://github.com/jungm/tomee/tree/openid

It's still a huge work in progress right now though


On 13. Apr 2024, at 20:29, Richard Zowalla <r...@apache.org> wrote:

Hi,

looks like we need to implement OpenID connect for Jakarta Security
3.0

- https://jakarta.ee/specifications/security/3.0/

If anyone wants to jump in and dive into the spec -> feel free :)

Gruß
Richard

Reply via email to