CloudforkSSO – OpenID and OAuth support for Smalltalk

With the CloudforkSSO library you can let the users of your Seaside web application login using their Google or Yahoo accounts. This works using the OpenID2 protocol. CloudforkSSO also contains OAuth support. With this protocol you can ask users for permission to access their data on other websites.

Some providers that you can integrate with:

Google – Google supports OpenID2 and OAuth1. You can use them separately or together. With OpenID2 users can identify themselves using their Google accounts. It is also possible to get some information about the user. For example the user’s name and email address.

Google’s OAuth1 support is really powerful. With it you can access and modify (if the user agrees!) a users calendar, contact, documents and a lot more.

Twitter – Twitter supports OAuth1. You can ask a user for read-only or full permission.

Facebook – Facebook supports OAuth2. You can access the social graph of a user.

A demo of this library runs at http://sso.doit.st.

OpenID2 and OAuth1 are pretty complex protocols. CloudforkSSO implements part of the protocol, enough to support the major providers like Google, Yahoo and Twitter. OAuth2 is a simple protocol. If OAuth2 is all you need CloudforkSSO is probably overkill. A HTTP Client with ssl support is enough.

I developed CloudforkSSO in Pharo Smalltalk. Most providers require secure communication via https. As far as I know, the only HTTP Client for Squeak and Pharo that supports https is WebClient with SqueakSSL. This works fine on Windows but on Ubuntu Linux the SqueakSSL plugin doesn’t work with some providers, for example Twitter and Yahoo. Hopefully this will be fixed soon.

There is also a VA Smalltalk port on VAStGoodies.com which does work on Windows and Linux.

The package Cloudfork-SSO-Seaside contains a demo component that shows how you can use the functionality. Note that for OAuth you need an API key and secret for the provider you want to use. For OpenID it is important to set the correct realm. This is the host and port where your app is running. You can set these configuration properties using the Seaside configuration app:

About these ads
Explore posts in the same categories: Cloudfork

Tags: , ,

Both comments and pings are currently closed.

6 Comments on “CloudforkSSO – OpenID and OAuth support for Smalltalk”

  1. sebastian Says:

    Great job man!

    Can’t wait to put a dent on it.

    Comment: I wouldn’t worry about connecting SSL from the image itself because you can easily wrap normal http connections from the host (probably faster). This one for example: http://www.stunnel.org

  2. fstephany Says:

    @sebastian, have you ever used stunnel in production ? It is not too painful to install/configure on your development, staging and production servers ?


  3. […] This post was mentioned on Twitter by Planet Lang and Geoffroy Couprie, The Pharo Project. The Pharo Project said: CloudforkSSO – OpenID and OAuth support for Smalltalk: http://t.co/eeSkMKp […]

  4. dominikmoritz Says:

    Can you provide the code that you need to use openID on a seaside website?
    Thanks


Comments are closed.


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: