Repository: cxf Updated Branches: refs/heads/3.1.x-fixes c3399966e -> 14ed2e2c4
Updating OidcImplicitService to process IdToken Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/14ed2e2c Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/14ed2e2c Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/14ed2e2c Branch: refs/heads/3.1.x-fixes Commit: 14ed2e2c44b6da7641c95fb57212f8b5a5e77f3d Parents: c339996 Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Fri Feb 5 14:30:05 2016 +0000 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Fri Feb 5 14:31:20 2016 +0000 ---------------------------------------------------------------------- .../cxf/rs/security/oidc/idp/OidcImplicitService.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/14ed2e2c/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcImplicitService.java ---------------------------------------------------------------------- diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcImplicitService.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcImplicitService.java index 01ae147..c13b89d 100644 --- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcImplicitService.java +++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcImplicitService.java @@ -25,6 +25,8 @@ import java.util.List; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; +import org.apache.cxf.rs.security.jose.jwt.JoseJwtProducer; +import org.apache.cxf.rs.security.jose.jwt.JwtToken; import org.apache.cxf.rs.security.oauth2.common.Client; import org.apache.cxf.rs.security.oauth2.common.OAuthError; import org.apache.cxf.rs.security.oauth2.common.OAuthPermission; @@ -43,6 +45,7 @@ public class OidcImplicitService extends ImplicitGrantService { private static final String ID_TOKEN_RESPONSE_TYPE = "id_token"; private static final String ID_TOKEN_AND_AT_RESPONSE_TYPE = "id_token token"; private boolean skipAuthorizationWithOidcScope; + private JoseJwtProducer idTokenHandler; public OidcImplicitService() { super(new HashSet<String>(Arrays.asList(ID_TOKEN_RESPONSE_TYPE, @@ -112,10 +115,15 @@ public class OidcImplicitService extends ImplicitGrantService { OidcUserSubject sub = (OidcUserSubject)subject; IdToken idToken = new IdToken(sub.getIdToken()); idToken.setNonce(state.getNonce()); - return null; //super.processJwt(new JwtToken(idToken)); + JoseJwtProducer processor = idTokenHandler == null ? new JoseJwtProducer() : null; + return processor.processJwt(new JwtToken(idToken)); } else { return null; } } + + public void setIdTokenJoseHandler(JoseJwtProducer idTokenJoseHandler) { + this.idTokenHandler = idTokenJoseHandler; + } }