On Sat, Jan 17, 2009 at 11:27:30PM -0800, Jordan Zimmerman wrote:
> What's unclear to me is how that appid gets communicated to
> Shindig. I haven't crossed the OAuth bridge yet. So, maybe I'll
> figure that out when I get there.

When a gadget calls into shindig:

1. Container decides to render gadget "123abc". It creates a signed
token containing the appId, owner and viewer ids, appUrl. Places the
token in the url for an iframe that will contain the gadget.

2. Gadget renders, reads the token from the url.

3. Gadget calls into shindig and sends the token as part of the call.

4. Shindig verifies token, gets all the data out of it and calls into
whatever method is needed for the request with the verified data from
the token.

When a REST call is made from the app's home servers:

1. Container gives gadget author an oauth key.

2. Author's servers make a call into shindig, using 2 legged oauth
for authentication. If needed as an argument for the call, the server
may either specify an arbitrary appId or send an special token meaning
"the authenticated app".

3. Shindig passes into the method call both the caller provided appId
and the authenticated data from oauth.

In either case, since the ultimate call goes into the same methods, it
is the responsability of your implementation to see if the caller
provided appId matches the authenticated one, and to decide what to do
if they don't.

Reply via email to