All about Mobile, Web, Technology, Politics, Security, E-Commerce and Living in the Philippines.

Thursday, September 20, 2007

Google Account Authentication for Installed Apps for Drupal 5

Requirements
------------
* Drupal 5.x
* PHP4 or PHP5
* PHP Snoopy v1.2.3
* CURL

Overview
---------

This first version of GoogleAuthApps allows you to login to a Drupal site using your Gmail username (ex: googleuser@gmail.com) and password.

This module makes use of Google Account Authentication for Installed Apps (http://code.google.com/apis/accounts/AuthForInstalledApps.html), PHP Snoopy (http://sourceforge.net/projects/snoopy/) and CURL.

Install
-------

1. Unpack and upload the googleauthapp folder to the Drupal modules/ directory.

2. Activate the module via the Drupal module configuration menu:
"Administer >> Site building >> Modules"

3. This default installation assumes you are running linux with CURL in /usr/bin/curl, to change this; open googleauthapp.module and set $snoopy->curl_path at Line 17 to the absolute path where CURL executable binary is installed. For linux users, execute "which curl" to know the absolute path.

4. In "Administer >> User management >> User settings" make sure this is checked:
"Visitors can create accounts and no administrator approval is required."

5. Login using your Gmail account and password, this will create a new user with same credentials.

Note
-----
This is a very beta version of the module I developed under one hour so excuse for the lack of administration page.

PHP Snoopy v1.2.3 comes with this package; I'm not sure if this is allowed under the distribution license of PHP Snoopy but to simplify explaining how to download and unpack it on correct directory, I have included it on this distribution. As of the moment I'm not able to contact the developer of Snoopy so please email me at rpfilomeno+googleauthapp[AT]gmail[DOT]com for clarifications.

Download Package: googleauthapp-5.x-1.x-dev.tar.gz

1 comments:

eod said...

Thanks for developing this - I am looking for basically this functionality, only to work with a specific google apps domain (google apps for education). I don't know enough about PHP to help maintain, but I do know that moodle has a module that is built out to do exactly this - you might want to look into it for ideas:

http://moodle.org/mod/data/view.php?d=13&rid=1070&filter=1

Related Links