I think I've found the cause (but no proper solution yet). When the gadget
metadata are requested through gadgets/ifr the BeanDelegator called by
GadgetHandlerService doesn't create a BlobSecurityToken but a Proxy instance
containing the BlobSecurityToken.
Then the SecurityToken in BlobCrypterSecurityTokenCodec#encodeToken returns
false for "token instanceof BlobCrypterSecurityToken" which leads to an
exception. Trying to cast the token to BlobCrypterSecurityToken leads to a
ClassCastException.

Of course I can create my own BlobCrypterSecurityTokenCodec which overrides
the encodeToken by constructing a BlobCrypterSecurityToken, but I wonder if
I should end up in the BeanDelegator that creates the Proxy. What should be
the right way to get the iframe url with security token?

Jasha Joachimsthal

Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll free)

www.onehippo.com


On 28 June 2011 11:57, Jasha Joachimsthal <[email protected]>wrote:

> Hi,
>
> I'm trying to get oAuth work in the Rave container with Shindig 3 but
> something goes wrong with the security token. As SecurityTokenCodec I use
> the DefaultSecurityTokenCodec with tokenType 'secure' and a generated
> keyfile with the token key.
>
> Before rendering the gadget there's a call that works:
> shindig.auth.updateSecurityToken('default:mysecuritytoken'); //
> mysecuritytoken is a BlobCrypterSecurityToken
>
> Then when container.preloadGadgets is performed a call
> to container.navigateGadget is done (see [1]). This returns an iframe url
> with %st% as secure token instead of the securityToken. How can I get the
> container return an iframe url with the valid security token instead of
> %st%?
>
> [1]
> http://svn.apache.org/repos/asf/incubator/rave/trunk/rave-portal/src/main/webapp/script/rave_opensocial.js
>
> Regards,
>
> Jasha Joachimsthal
>
> Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 4466
> US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll free)
>
> www.onehippo.com
>

Reply via email to