Hi Jon,

What it the status of this?

For the remaining failing tests, the issues are related with this:
https://github.com/eclipse/microprofile-jwt-auth/issues/118 
<https://github.com/eclipse/microprofile-jwt-auth/issues/118>

I don’t think there is a way to fix it on our side, so se could just ignore 
those specific methods and build a specific test for this with 2 apps 
deployment so we can reach out then public key endpoint from the test. Then we 
should be good to go with this!

Cheers,
Roberto

> On 20 Nov 2018, at 15:28, Jean-Louis Monteiro <jlmonte...@tomitribe.com> 
> wrote:
> 
> Ok, yes I see it.
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
> 
> 
> On Tue, Nov 20, 2018 at 4:11 PM Jonathan Gallimore <
> jonathan.gallim...@gmail.com> wrote:
> 
>> The commits are showing for me (at the bottom). Here's the latest one:
>> 
>> https://github.com/apache/tomee/commit/7ce1f8033e239331cfa7843e4e5565ed0aa83345
>> 
>> On Tue, Nov 20, 2018 at 2:44 PM Jean-Louis Monteiro <
>> jlmonte...@tomitribe.com> wrote:
>> 
>>> Hey Jon,
>>> 
>>> I clicked on the link and the diff tab does not show any difference.
>>> Did you push?
>>> --
>>> Jean-Louis Monteiro
>>> http://twitter.com/jlouismonteiro
>>> http://www.tomitribe.com
>>> 
>>> 
>>> On Mon, Nov 19, 2018 at 12:36 PM Jonathan Gallimore <
>>> jonathan.gallim...@gmail.com> wrote:
>>> 
>>>> I now have the principal injection part of this working - thanks Romain
>>> for
>>>> your help and explanations. Progress is in my fork here:
>>>> https://github.com/jgallimore/tomee/tree/jwt-1.1 (changes here:
>>>> 
>>>> 
>>> 
>> https://github.com/apache/tomee/compare/master...jgallimore:jwt-1.1?expand=1
>>>> ).
>>>> There are still a couple of TODOs to clean up, and 3 tests to get
>>> passing.
>>>> Any feedback is appreciated.
>>>> 
>>>> Jon
>>>> 
>>>> On Sat, Nov 3, 2018 at 9:10 AM Jonathan Gallimore <
>>>> jonathan.gallim...@gmail.com> wrote:
>>>> 
>>>>> Yep, got it. Thanks for the feedback - makes sense now.
>>>>> 
>>>>> Cheers
>>>>> 
>>>>> Jon
>>>>> 
>>>>> On Fri, 2 Nov 2018, 16:46 Romain Manni-Bucau <rmannibu...@gmail.com
>>>> wrote:
>>>>> 
>>>>>> Answered hopefully "long enough" on dev@geronimo so will just do a
>>>> short
>>>>>> one here and shout if not enough: ManagedSecurityService in cdi
>>> package
>>>> of
>>>>>> openejb-core must make the getCurrentPrincipal contextual so hidden
>>>> behind
>>>>>> a proxy. The proxied API must be Principal and JsonWebToken when
>>>> available
>>>>>> (try { add if can load } catch { ignore } works as pattern). The
>> proxy
>>>>>> instance can be created once for all app using the container loader
>> or
>>>> per
>>>>>> app using the app loader and avoiding to leak between apps since the
>>> API
>>>>>> can use different loaders.
>>>>>> 
>>>>>> Le ven. 2 nov. 2018 14:44, Jonathan Gallimore <
>>>>>> jonathan.gallim...@gmail.com>
>>>>>> a écrit :
>>>>>> 
>>>>>>> Thanks for the reply, but I am confused by your response. The PR I
>>>>>>> referenced adds a single test to the geronimo-jwt-auth project (
>>>>>>> https://github.com/apache/geronimo-jwt-auth/pull/3), based on
>>>>>>> 
>>>> org.eclipse.microprofile.jwt.tck.container.jaxrs.PrincipalInjectionTest
>>>>>>> from the TCK. It fails at present (hopefully we agree on that - my
>>>>>> results
>>>>>>> attached). The geronimo-jwt-auth project doesn't touch TomEE at
>> all
>>> -
>>>> it
>>>>>>> uses OWB/Meecrowave to run the MicroProfile JWT TCK. I have not
>>>> modified
>>>>>>> the project config at all, so it is using the SecurityService code
>>> you
>>>>>>> previously posted. If this additional test were part of the
>>>> MicroProfile
>>>>>>> JWT TCK (and I'm going to propose it), the Geronimo JWT Auth
>>>>>> implementation
>>>>>>> would *not* pass the TCK.
>>>>>>> 
>>>>>>> I posted this here as I originally found the issue when continuing
>>>>>>> Roberto's efforts, but this has probably contributed to some
>>>> confusion.
>>>>>> I
>>>>>>> would suggest we continue this over on the Geronimo and OWB lists
>> to
>>>>>> avoid
>>>>>>> further confusion.
>>>>>>> 
>>>>>>> Jon
>>>>>>> 
>>>>>>> On Fri, Nov 2, 2018 at 12:46 PM Romain Manni-Bucau <
>>>>>> rmannibu...@gmail.com>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Hi
>>>>>>>> 
>>>>>>>> Yes this is an owb misconfiguration/integration
>>>>>>>> 
>>>>>>>> Geronimo is fine here so likely tomee owb spi to update as in
>>>> geronimo
>>>>>> tck
>>>>>>>> 
>>>>>>>> Le ven. 2 nov. 2018 10:42, Jonathan Gallimore <
>>>>>>>> jonathan.gallim...@gmail.com>
>>>>>>>> a écrit :
>>>>>>>> 
>>>>>>>>> Thanks for the reply. I am still sure there is some sort of
>>> issue.
>>>>>>>> Putting
>>>>>>>>> TomEE to one side for the moment, I am able to reproduce this
>> in
>>>> the
>>>>>>>>> Geronimo JWT auth library as well. This PR includes a test to
>>> show
>>>>>> what
>>>>>>>> I
>>>>>>>>> mean: https://github.com/apache/geronimo-jwt-auth/pull/3.
>>>>>>>>> 
>>>>>>>>> I can confirm that this change:
>>>>>>>>> https://github.com/apache/openwebbeans/pull/12 enables that
>> new
>>>>>> test to
>>>>>>>>> pass.
>>>>>>>>> 
>>>>>>>>> In short, if you @Inject JsonWebToken, or individual claims, or
>>>>>>>>> use @RolesAllowed, I think you're ok, but if you @Inject
>>> Principal,
>>>>>> you
>>>>>>>>> will most likely get the wrong principal because the instance
>> is
>>>>>> cache
>>>>>>>> in a
>>>>>>>>> field in the org.apache.webbeans.portable.ProviderBasedProducer
>>>>>> class,
>>>>>>>> and
>>>>>>>>> that looks like a security issue.
>>>>>>>>> 
>>>>>>>>> Jon
>>>>>>>>> 
>>>>>>>>> On Tue, Oct 30, 2018 at 5:56 AM Romain Manni-Bucau <
>>>>>>>> rmannibu...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Hi Jon,
>>>>>>>>>> 
>>>>>>>>>> yes and no, idea is to be fast and for all producers it works
>>>>>> except
>>>>>>>> the
>>>>>>>>>> principal which is broken anyway in CDI 1.x so guess this was
>>> not
>>>>>>>> fixed
>>>>>>>>>> 
>>>>>>>>>> in CDI 2 (tomee 8) we can impl it this way:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://github.com/apache/geronimo-jwt-auth/blob/master/src/test/java/org/apache/geronimo/microprofile/impl/jwtauth/tck/TckSecurityService.java
>>>>>>>>>> 
>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>>>>>> <http://rmannibucau.wordpress.com> | Github <
>>>>>>>>>> https://github.com/rmannibucau> |
>>>>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>>>>>> <
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Le mar. 30 oct. 2018 à 00:58, Jonathan Gallimore <
>>>>>>>>>> jonathan.gallim...@gmail.com> a écrit :
>>>>>>>>>> 
>>>>>>>>>>> Here's a question, probably for Mark or Romain. If I turn
>> the
>>>>>> proxy
>>>>>>>>> *off*
>>>>>>>>>>> in org.apache.webbeans.component.PrincipalBean, I'm finding
>>>> that
>>>>>> I
>>>>>>>> get
>>>>>>>>>> the
>>>>>>>>>>> wrong principal injected sometimes. Specifically, I get the
>>>>>>>> whatever is
>>>>>>>>>> on
>>>>>>>>>>> the proxyInstance field here:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://github.com/apache/openwebbeans/blob/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProducer.java#L51
>>>>>>>>>>> 
>>>>>>>>>>> Should this line (line 66)
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://github.com/apache/openwebbeans/blob/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProducer.java#L66
>>>>>>>>>>> ,
>>>>>>>>>>> not simply be:
>>>>>>>>>>> 
>>>>>>>>>>> return provider.get();
>>>>>>>>>>> 
>>>>>>>>>>> as opposed to
>>>>>>>>>>> 
>>>>>>>>>>> proxyInstance = provider.get(); ?
>>>>>>>>>>> 
>>>>>>>>>>> That way, the proxyInstance field would never get set if
>>> proxy
>>>>>> mode
>>>>>>>> is
>>>>>>>>>> set
>>>>>>>>>>> to false. When proxy is true, this seems to work correctly
>>>>>>>> (although I
>>>>>>>>>> have
>>>>>>>>>>> other unrelated issues in TomEE).
>>>>>>>>>>> 
>>>>>>>>>>> I can probably work around this some other way, but it
>> seems
>>> to
>>>>>> me
>>>>>>>> like
>>>>>>>>>>> that behaviour isn't quite right.
>>>>>>>>>>> 
>>>>>>>>>>> Trying to think of a way to test it - I can probably come
>> up
>>>> with
>>>>>>>>>>> something, but I'd appreciate some pointers. Happy to shift
>>>> this
>>>>>> to
>>>>>>>>>>> openwebbeans-dev, and submit a PR. Replying here initially
>>> as I
>>>>>> ran
>>>>>>>>> into
>>>>>>>>>>> this while hacking on the JWT code.
>>>>>>>>>>> 
>>>>>>>>>>> Jon
>>>>>>>>>>> 
>>>>>>>>>>> On Wed, Oct 17, 2018 at 12:41 AM Roberto Cortez
>>>>>>>>>>> <radcor...@yahoo.com.invalid>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> Please, go ahead. Let me know if need anything. Thanks!
>>>>>>>>>>>> 
>>>>>>>>>>>>> On 16 Oct 2018, at 21:53, Jonathan Gallimore <
>>>>>>>>>>>> jonathan.gallim...@gmail.com> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Any objection if I pick this up and have a go at the
>> last
>>>>>>>> tests, or
>>>>>>>>>> is
>>>>>>>>>>>>> someone already working on this?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Thu, Sep 27, 2018 at 5:44 PM Romain Manni-Bucau <
>>>>>>>>>>>> rmannibu...@gmail.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Yep this feature. Then it must works since we support
>>> user
>>>>>>>>> principal
>>>>>>>>>>> if
>>>>>>>>>>>> the
>>>>>>>>>>>>>> jwt filter is corretly placed in the filter chain and
>> we
>>>>>> must
>>>>>>>>>> inherit
>>>>>>>>>>>> from
>>>>>>>>>>>>>> the request principal.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Le jeu. 27 sept. 2018 18:37, Roberto Cortez
>>>>>>>>>>> <radcor...@yahoo.com.invalid
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> écrit :
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I guess you are referring to this, to remove the
>> proxy?
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://github.com/apache/openwebbeans/commit/a21a949fb19247dcc39ee89292a1554b2cf1388e
>>>>>>>>>>>>>>> <
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> https://github.com/apache/openwebbeans/commit/a21a949fb19247dcc39ee89292a1554b2cf1388e
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Yes, this one step.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> By default, we do inject the generic Principal of
>>> Tomcat.
>>>>>> We
>>>>>>>>>> probably
>>>>>>>>>>>>>> need
>>>>>>>>>>>>>>> to check first about the existence of a JWT Principal
>>> and
>>>>>> then
>>>>>>>>>>> fallback
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>> the Tomcat one. I think I know how to do it, I was
>> just
>>>>>>>> trying to
>>>>>>>>>>>> broaden
>>>>>>>>>>>>>>> up the conversation about general integration with EE
>>>>>>>> security.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>> Roberto
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> On 26 Sep 2018, at 07:21, Romain Manni-Bucau <
>>>>>>>>>> rmannibu...@gmail.com
>>>>>>>>>>>> 
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> OWB enable to do it - we did it in geronimo impl to
>>> pass
>>>>>> tck
>>>>>>>> of
>>>>>>>>>> jwt
>>>>>>>>>>>>>> auth
>>>>>>>>>>>>>>>> spec.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Le mer. 26 sept. 2018 03:28, Roberto Cortez
>>>>>>>>>>>>>> <radcor...@yahoo.com.invalid>
>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>> écrit :
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> I’ve done some work to push our MP JWT
>> implementation
>>>>>> from
>>>>>>>> 1.0
>>>>>>>>> to
>>>>>>>>>>>> 1.1.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> You can check it here:
>>>>>>>>>>>>>>>>> https://github.com/apache/tomee/pull/173 <
>>>>>>>>>>>>>>>>> https://github.com/apache/tomee/pull/173>
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> There are still a couple of tests in the TCK that I
>>>> have
>>>>>> to
>>>>>>>> fix
>>>>>>>>>>> and a
>>>>>>>>>>>>>>> few
>>>>>>>>>>>>>>>>> things that I would like to improve, but I think
>> the
>>>>>>>> majority
>>>>>>>>> of
>>>>>>>>>>> the
>>>>>>>>>>>>>>> work
>>>>>>>>>>>>>>>>> is done.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Some time ago, there was a discussion in the list
>>> about
>>>>>> how
>>>>>>>> to
>>>>>>>>>>>>>> integrate
>>>>>>>>>>>>>>>>> MP JWT with EE security:
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> http://tomee-openejb.979440.n4.nabble.com/Implementing-Microprofile-JWT-td4683212i40.html
>>>>>>>>>>>>>>>>> <
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>>> 
>> http://tomee-openejb.979440.n4.nabble.com/Implementing-Microprofile-JWT-td4683212i40.html
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> I believe we need to revisit that conversation and
>>>> figure
>>>>>>>> out
>>>>>>>>> how
>>>>>>>>>>> to
>>>>>>>>>>>>>>> move
>>>>>>>>>>>>>>>>> forward.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Right now for instance, we don’t support injecting
>> a
>>>> JWT
>>>>>>>>>> Principal
>>>>>>>>>>>>>> since
>>>>>>>>>>>>>>>>> it clashes with the predefined by CDI. Most likely,
>>> we
>>>>>> would
>>>>>>>>> need
>>>>>>>>>>> to
>>>>>>>>>>>>>>> plugin
>>>>>>>>>>>>>>>>> the JWT Principal lookup in TomcatSecurityService.
>>> I’m
>>>>>> not
>>>>>>>> sure
>>>>>>>>>> if
>>>>>>>>>>> we
>>>>>>>>>>>>>>> want
>>>>>>>>>>>>>>>>> to do it in that way, or if we want to think in
>>>> something
>>>>>>>> else.
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>>> Roberto
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 

Reply via email to