This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openwebbeans-meecrowave.git
The following commit(s) were added to refs/heads/master by this push: new 7be5036 ensure oauth2 module can run in classloader proxy mode 7be5036 is described below commit 7be50368035c8d14266e9441397349b45d166ad3 Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Tue Nov 10 19:08:44 2020 +0100 ensure oauth2 module can run in classloader proxy mode --- .../OAuth2AuthorizationCodeGrantService.java | 50 +++++++++++----------- .../oauth2/resource/OAuth2RevokeTokenService.java | 2 +- .../oauth2/resource/OAuth2TokenService.java | 2 +- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java index 536f322..f8a2e76 100644 --- a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java +++ b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2AuthorizationCodeGrantService.java @@ -25,66 +25,68 @@ import org.apache.cxf.rs.security.oauth2.services.RedirectionBasedGrantService; import org.apache.cxf.security.SecurityContext; import org.apache.meecrowave.oauth2.configuration.OAuth2Configurer; -import javax.enterprise.context.RequestScoped; -import javax.enterprise.inject.Typed; +import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Vetoed; import javax.inject.Inject; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import java.security.Principal; import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; import static javax.ws.rs.core.MediaType.APPLICATION_JSON; -import static javax.ws.rs.core.MediaType.APPLICATION_XHTML_XML; import static javax.ws.rs.core.MediaType.APPLICATION_XML; import static javax.ws.rs.core.MediaType.TEXT_HTML; -@RequestScoped +@ApplicationScoped @Path("authorize") -public class OAuth2AuthorizationCodeGrantService extends AuthorizationCodeGrantService { - - @Inject - private LazyImpl delegate; - +public class OAuth2AuthorizationCodeGrantService { @Inject private OAuth2Configurer configurer; - @Override @GET - @Produces({APPLICATION_XHTML_XML, TEXT_HTML, APPLICATION_XML, APPLICATION_JSON}) - public Response authorize() { - return getDelegate().authorize(); + @Produces({"application/xhtml+xml", TEXT_HTML, APPLICATION_XML, APPLICATION_JSON }) + public Response authorize(@Context final MessageContext messageContext) { + return getDelegate(messageContext).authorize(); + } + + @POST + @Consumes(APPLICATION_FORM_URLENCODED) + @Produces({"application/xhtml+xml", TEXT_HTML, APPLICATION_XML, APPLICATION_JSON}) + public Response authorizePost(final MultivaluedMap<String, String> params, + @Context final MessageContext messageContext) { + return getDelegate(messageContext).authorizePost(params); } - @Override @GET @Path("decision") - public Response authorizeDecision() { - return getDelegate().authorizeDecision(); + public Response authorizeDecision(@Context final MessageContext messageContext) { + return getDelegate(messageContext).authorizeDecision(); } - @Override @POST @Path("decision") @Consumes(APPLICATION_FORM_URLENCODED) - public Response authorizeDecisionForm(MultivaluedMap<String, String> params) { - return getDelegate().authorizeDecisionForm(params); + public Response authorizeDecisionForm(final MultivaluedMap<String, String> params, + @Context final MessageContext messageContext) { + return getDelegate(messageContext).authorizeDecisionForm(params); } - private RedirectionBasedGrantService getDelegate() { - delegate.setMessageContext(getMessageContext()); + private RedirectionBasedGrantService getDelegate(final MessageContext messageContext) { + final LazyImpl delegate = new LazyImpl(); + delegate.setMessageContext(messageContext); delegate.setConfigurer(configurer); configurer.accept(delegate); return delegate; } - @RequestScoped - @Typed(LazyImpl.class) - static class LazyImpl extends AuthorizationCodeGrantService { + @Vetoed + public static class LazyImpl extends AuthorizationCodeGrantService { private OAuth2Configurer configurer; public void setConfigurer(final OAuth2Configurer configurer) { diff --git a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java index e804a49..c0930c0 100644 --- a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java +++ b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2RevokeTokenService.java @@ -63,7 +63,7 @@ public class OAuth2RevokeTokenService extends TokenRevocationService { @RequestScoped @Typed(LayImpl.class) - static class LayImpl extends TokenRevocationService implements OAuth2Application.Defaults { + public static class LayImpl extends TokenRevocationService implements OAuth2Application.Defaults { @Inject private OAuth2Configurer configurer; diff --git a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java index 1c45f13..2b2f18b 100644 --- a/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java +++ b/meecrowave-oauth2-minimal/src/main/java/org/apache/meecrowave/oauth2/resource/OAuth2TokenService.java @@ -62,7 +62,7 @@ public class OAuth2TokenService extends AccessTokenService implements OAuth2Appl @RequestScoped @Typed(LazyImpl.class) - static class LazyImpl extends AccessTokenService implements OAuth2Application.Defaults { + public static class LazyImpl extends AccessTokenService implements OAuth2Application.Defaults { @Inject private OAuth2Configurer configurer;