cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colm O hEigeartaigh (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-4062) Enabling custom claim parser
Date Tue, 28 Feb 2012 14:49:47 GMT

    [ https://issues.apache.org/jira/browse/CXF-4062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13218239#comment-13218239
] 

Colm O hEigeartaigh commented on CXF-4062:
------------------------------------------

Hi Jan,

> If you have a look into the schema definition you will find ClaimValueType and others.
> http://docs.oasis-open.org/imi/identity/v1.0/os/identity-1.0-errata-os.xsd

Sure, but is it meant to be used as a child of the wst:Claims Element? Can you point me to
any examples of this?

> I fully agree, I just did not know the best place to do this. How / where would you do
this? ClaimParsing 
> happens quite deep in the STS, further changes would be necessary...

You could just add another parameter to RequestParser.parseRequest(...), which is set as a
class variable of AbstractOperation, in much the same way as the ClaimsManager can be configured.

Colm.


                
> 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
>
>
> 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

        

Mime
View raw message