[Seaside] Fwd: OAuth/Twitter demo in Squeak

Miguel Enrique Cobá Martínez miguel.coba at gmail.com
Fri Aug 13 15:21:00 UTC 2010

El jue, 12-08-2010 a las 21:01 -0700, Andreas Raab escribió:
> [Oops, accidentally sent to seaside-*dev*; apologies for the noise]
> -------- Original Message --------
> Hi -
> I was playing with OAuth authentication and in the process decided to
> test it against Twitter and since it's kind of fun, I thought I'd share
> it with the rest of the world. You can run the (very simple) demo here:
> 	http://ardemo.seasidehosting.st/seaside/twitter
> All it does is after you log in via Twitter it shows you the account
> info that Twitter shares with the app and allows you to tweet a little.
> The OAuth part itself is now integrated in WebClient's suite of auth
> methods and the little Twitter demo is available in
> http://www.squeaksource.com/ar.html and can be installed via
> 	(Installer ss project: 'ar')
> 		install: 'Twitter-Squeak'.

Cool, thanks for the work, this would permit to connect to facebook to
(Facebook Connect). 
This opens a lot of opportunities for seaside apps. :)

> Since I found OAuth to be a pretty major PITA I hope that this example
> will prove helpful for people who have to deal with this stuff.
> Lastly, a Seaside question that came up in the above: Part of the OAuth
> process requires passing a specific callback url to the remote site
> (which is the url the user gets redirected to after authentication was
> successful). Since I couldn't figure out how to obtain the url
> otherwise, I've been stashing it away in a rendering method (since
> there's access to the rendering context's callback store) like here:
> renderLoginPageOn: html
> 	"Set up the callback url for Twitter to return to"
> 	callback := WAActionCallback on: [self twitterCallback].
> 	url := html actionUrl copy addField: (html callbacks store: callback).
> 	"We need the host and the scheme here; the scheme is guesswork"
> 	urlString := 'http://', host, '/', url asString.
> 	oauthParams at: 'oauth_callback' put: urlString encodeForHTTP.
> and then later the callback is passed to Twitter and the user sent back
> to the app. This works, but I'm wondering if that's the right thing to
> do, and if not, how one would set up and register such a callback url
> outside of rendering.

just use urlForAction method:

html hiddenInput name: 'cancel_return'; value: (html urlForAction:
[ self subscribeCanceled ]) ].


> Cheers,
>    - Andreas
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

Miguel Cobá

More information about the seaside mailing list