[
https://issues.apache.org/jira/browse/CXF-4062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13230190#comment-13230190
]
Jan Bernhardt edited comment on CXF-4062 at 3/15/12 2:20 PM:
-------------------------------------------------------------
Here is another patch for cxf sts claim parsing. It is based on cxf version
2.6.0-SNAPSHOT.
Main changes to previously provided patch is, that now claim parser can be
registered as part of ClaimManager. If a ClaimsParser is set and a dialect it
supports needs to be parsed, this parser will automatically be used. If not,
the default implementation from cxf will be called...
I will provide a JUnit Test case for this hopefully by tomorrow. ;-)
I'm excited for your feedback.
was (Author: jan4talend):
Here is another patch for cxf sts claim parsing. It is based on cxf version
2.6.0-SNAPSHOT.
Main changes to previously provided patch is, that now claim parser can be
registered as part of ClaimManager. If a ClaimsParser is set and a dialect it
supports needs to be parsed this parser will be automatically be used. If not,
the default implementation from cxf will be called...
I will provide a JUnit Test case for this hopefully by tomorrow. ;-)
I'm excited for your feedback.
> Enabling custom claim parser
> ----------------------------
>
> Key: CXF-4062
> URL: https://issues.apache.org/jira/browse/CXF-4062
> Project: CXF
> Issue Type: Improvement
> Affects Versions: 2.5.2
> Reporter: Jan Bernhardt
> Labels: Claims, STS
> Attachments: claimParer.patch, cxf-sts-claims.patch
>
>
> STS-core:
> Currently there is now way to use a custom dialect in requested claims. Even
> http://schemas.xmlsoap.org/ws/2005/05/identity/claims is not fully supported
> (only ClaimType element).
> Therefore I introduced a new Interface ClaimParser, and a DefaultClaimParser
> with the current parsing logic. This parser is called by default within
> RequestParser, so that the normal cxf behavior has not changed. But to make
> this process more flexible it is possible (with this patch) to register any
> kind of ClaimParser supporting a specific dialect. I implemented a
> IdentityClaimParser which is currently able to parser CustomType and
> CustomValueType elements within the wst:claims element. Since the current
> RequestClaim does not support any claim values, except of the Uri attribute,
> I created a SubClass ClaimValueType to also pass the claim value to the claim
> handler.
> This patch is just a starting point. I think there should be a more complex
> redesign of the current claim handling implementation, because it is
> currently focused on only one Use-Case. The following improvements should be
> made:
> * The RequestClaim class should be replaced by a more flexible interface
> supporting any kind of parsing and handling custom dialects.
> * It should be possible to include/configure custom claimparser via spring
> config
> * A fully supported implementation of
> http://schemas.xmlsoap.org/ws/2005/05/identity/claims dialect would be great
> Here is an example of a claims STS request which is supported by applying
> this patch:
> <wst:Claims Dialect="http://schemas.xmlsoap.org/ws/2005/05/identity"
> xmlns:ic="http://schemas.xmlsoap.org/ws/2005/05/identity">
> <ic:ClaimValue
> Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"/>admin</ic:ClaimValue>
> </wst:Claims>
> Thank you for this great product!! I hope this patch can help to further
> improve CXF.
> Best regards
> Jan
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira