Skip to main content

Local Testing OAuth Social Signin

On some recent Grails projects, I have been looking at using the Twitter and Facebook OAuth signin process.

This process allows you to authenticate users based on their Twitter/Facebook logins, without the need for the user to expose their passwords to your site.

When you create your 'application' within Twitter or Facebook, it is necessary to define the URL where the application can be accessed. Twitter and Facebook will only redirect to this URL during the authentication process.

I have tested running some applications on Heroku or Appfog, with Twitter and Facebook happy to redirect to the appropriate URLs with successful authentication.

However, when testing locally, I follow these steps to work through the authentication process.

1. App Context
Ensure that the Grails app context is '/' - as the application is generally deployed this way on Heroku/Appfog:

Config.groovy

grails.app.context = '/'


2. Port Binding:
While the local application will generally run on port 8080, we want it accessible via port 80 - as it is run on Heroku and Appfog. One method of achieving this locally is to bind the ports as follows

sudo ssh -L 80:localhost:8080 root@localhost

Note: if you are working on a Mac - ensure that Remote Login is enabled also.

If you application is running via HTTPS (port 8443), the following port forward command is required:

sudo ssh -L 443:localhost:8443 root@localhost

3. Hosts
Edit the /etc/hosts file in order to redirect calls to your Heroku/Appfog application URL to your localhost:

/etc/hosts

127.0.0.1 murmuring-gorge-6675.herokuapp.com

4. Test the Process
Now, running the application on your local machine, it should be possible to follow the Twitter/Facebook OAuth process, with all interaction taking place with your local server.

Popular posts from this blog

Brain Error: No space left on device

I'm not dumb. I just have a command of thoroughly useless information.
Calvin - It's a Magical World, Bill Waterson
Wired's June 2008 edition included an article entitled 'Quiet Please: how Man-made noises may be altering Earth's ecology'.

The article focused on the theory put forward by Bernie Krause, a field recording scientist, that nature's soundtrack (biophony) is being adversely affected by a louder human-made cacophony (anthrophony). Krause postulates that the animal kingdom divides the acoustic spectrum so it's inhabitants do not interfere with each other. However, human-made noise is increasingly disrupting this harmony and intrudes on a piece of the spectrum already in use - drowning out natures voice.

As an example, Krause summizes that the rapidly declining population of the Yosemite spadefoot toad is due to the noise generated from low-flying military aircraft, performing training exercises in the area. Coyotes and owls are able to home in on i…

Coding Cults & Internet Gods

Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke
Its been talked about before, but while reading the 'The God Delusion' by Richard Dawkins (and no he doesn't Twitter!), the meme of the Cargo Cult once again caught my attention.
Cargo Cult: Waiting for Frum
Anthropologists have observed the phenomenon of island inhabitants (most famously of Pacific Melanesia and New Guinea) mimicking and performing rituals of visiting advanced cultures in the belief that these acts will provide them with material goods and wealth. This phenomenon is known as a Cargo Cult.

The islanders observed that the visiting people enjoyed great luxuries, with seemingly little or no useful work required in return - they sat behind desks while new or repaired items appeared on the island as if by magic.

In one instance, on the island of Tanna in the New Hebrides (now known as Vanuata), the islanders awaited the return the messianic Mr John Frum who would bear bountiful car…