RequestedDisplayToken not being displayed

I can't get CardSpace to display the RequestedDisplayToken. All other aspects of the transaction work (authentication succeeds, no CardSpace exceptions, and a good token is delivered to the relying party), but CardSpace just displays a blank space next to the "otherPhone" claim (or any other claim I try to use). I have tried all sorts of variations, with no luck. (I even deliberately mis-named the RequestedDisplayToken element, and CardSpace simply ignored it silently.) An example of my RSTR is below -- anyone have an idea what I'm doing wrong

<soap:Envelope xmlns:ic="http://schemas.xmlsoap.org/ws/2005/05/identity"
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header />
<soap:Body>
<wst:RequestSecurityTokenResponse Context="ProcessRequestSecurityToken">
<wst:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</wst:TokenType>
<wst:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</wst:RequestType>
<wst:RequestedSecurityToken>...</wst:RequestedSecurityToken>
<wst:RequestedAttachedReference>...</wst:RequestedAttachedReference>
<wst:RequestedUnattachedReference>...</wst:RequestedUnattachedReference>
<ic:RequestedDisplayToken>
<ic:DisplayToken xml:lang="en">
<ic:DisplayClaim
URI="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherPhone">
<ic:Description>
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherPhone
</ic:Description>
<ic:DisplayTag>otherPhone</ic:DisplayTag>
<ic:DisplayValue>
555-5555
</ic:DisplayValue>
</ic:DisplayClaim>
</ic:DisplayToken>
</ic:RequestedDisplayToken>
</wst:RequestSecurityTokenResponse>
</soap:Body>
</soap:Envelope>


Answer this question

RequestedDisplayToken not being displayed

  • hrubesh

    I've got display tokens working fine.

    Looking at your xml, I'd make 2 suggestions. Firstly, the DisplayClaim "URI" attribute you have should be "Uri". This is probably the real culprit - CardSpace won't be able to find a DisplayClaim with a matching uri, because it's looking for a Uri attribute you're not providing.

    If that doesn't fix it, I'd suggest option #2, which is to remove whitespace around the text in DisplayValue, so it looks more like:

    <ic:DisplayValue>555-5555</ic:DisplayValue>

    As luck would have it, my data gets output in that format, so I don't know if it's actually an issue.

    Good luck!
    Matt


  • kasmaq

    Thanks Matt. I already tried both "URI" and "Uri" , with no luck. And my display values have no whitespace around them -- I just formatted them like that to make them more readable in the post.

    Just in case it was a problem only with my local IP, I tried it also on Chuck Mortimer's Java Relying Party:
    https://xmldap.org/relyingparty/
    Same problem, I can't get CardSpace to display any of the tokens returned. Two possibilities then: 1) my CardSpace is messed up, or 2) Mortimer's IP has the same bug as mine. If someone could go to Mortimer's RP and try to replicate the problem, I'd really appreciate it, thanks.

  • Ljhopkins

    here's an example pulled from an RSTR that correctly displays the value's in the cardSpace UI (except without the whitespaces for formatting). Hopefully it will help.

    <wsid:RequestedDisplayToken xmlns:wsid="http://schemas.xmlsoap.org/ws/2005/05/identity">
    <wsid:DisplayToken>
    <wsid:DisplayClaim Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
    <wsid:DisplayTag>Email Address</wsid:DisplayTag>
    <wsid:Description>http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress</wsid:Description>
    <wsid:DisplayValue>foobar@microsoft.com</wsid:DisplayValue>
    </wsid:DisplayClaim>
    </wsid:DisplayToken>
    </wsid:RequestedDisplayToken>



  • FloridaJohn

    That fixed my problem, thanks very much rammic.

    Surely Microsoft will eventually remove this unnecessary (and undocumented) order dependency from CardSpace

  • stellag

    Got it! I was having the same problem. The DisplayClaim child elements are order-sensitive in the CardSpace UI. You need to offer the DisplayTag, Description, and DisplayValue in that order.

  • RequestedDisplayToken not being displayed